"Динамическое выделение памяти"


Страницы: 1
Пользователь: diman-189
Сообщений: 2
Статус: Незримый
Зарегистрирован:
18 июня 2008, 19:21
Был:18 июня 2008, 19:29
diman-189
smsup
Дата: 18 июня 2008, 19:26 Сообщение № 1
Как в многомерном массиве динамичесик выделить память?
Пользователь: DMT
Сообщений: 123
Статус: Программист
Зарегистрирован:
18 октября 2007, 2:35
Был:13 ноября 2017, 4:54
DMT
smsup
Дата: 29 июня 2008, 15:55 Сообщение № 2
Пример для двухмерного массива:
Код на C++
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void main(){
  4. int n=10,n1=10,i;
  5. int **m=new int *[n];
  6. for(i=0;i<n;i++){
  7. m[i]=new int[n1];
  8. for (int j=0;j<n1;j++) m[i][j]=1;
  9. }
  10. for(i=0;i<n;i++){
  11. for (int j=0;j<n1;j++) printf(" %d",m[i][j]);
  12. printf("\n");
  13. }
  14. }
  15.  
При использовании обязательна ссылка на http://DMTSoft.ru
Пользователь: kate&lena
Сообщений: 6
Статус: Пользователь
Зарегистрирован:
6 февраля 2009, 23:15
Был:17 февраля 2009, 0:35
kate&lena
smsup
Дата: 16 февраля 2009, 23:27 Сообщение № 3
Код на С++. Выделение и высвобождение памяти для двумерного и трехмерного массивов.

#include <conio.h>
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

int ***B;
int **VA21;

//----------creates an array--------------------------
void Alloc(int size1,int size2,int size3)
{
int i,j,k;

VA21=(int**)malloc(size2*sizeof(int));
for(i=0; i<size2; i++)
VA21[i]=(int*)malloc(size2*sizeof(int));

B=(int***)malloc(size1*sizeof(int));
for(i=0; i<size1; i++)
B[i]=(int**)malloc(size2*sizeof(int));
for(j=0; j<size2; j++)
for(k=0; k<size3; k++)
B[j][k]=(int*)malloc(size3*sizeof(int));
}
//----------delete an array--------------------------
void FreeMemory(int size1,int size2,int size3)
{
int i,j,k;

for(j=size2-1;j>0;j--)
for(k=size3-1;k>0;k--)
free(B[j][k]);

for(i=size1-1;i>0;i--)
free(B[i]);

for(i=0; i<size2; i++)
free(VA21[i]);

free(B);
free(VA21);
}
Пользователь: mihailo
Сообщений: 3
Статус: Незримый
Зарегистрирован:
4 октября 2009, 12:50
Был:6 октября 2009, 10:27
mihailo
smsup
Дата: 6 октября 2009, 10:17 Сообщение № 4
А не проще вначале написания программы,т.е.
REM Динамическое выделение памяти
DIM x(9.5),y(9.5)
REM Ввод исходных данных
То что красное и есть динамическое выделение оперативной памяти

Страницы: 1