Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2012, 22:58   #1
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию Четырёхмерные динамические массивы

Пожалуйста, подскажите, как выделять память под четырехмерный динамический массив?
rmv240899 вне форума Ответить с цитированием
Старый 14.03.2012, 00:42   #2
Blind Guard
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 139
По умолчанию

У меня выделяет на Dev-Cpp

int i,j,k,****ms;

ms=(int****)malloc(10,sizeof(int*** ));

for(i=0;i<10;i++)
ms[i]=(int***)malloc(10,sizeof(int**));

for(i=0;i<10;i++)
for(j=0;j<10;j++)
ms[i][j]=(int**)malloc(10,sizeof(int*));

for(i=0;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
ms[i][j][k]=(int*)malloc(10,sizeof(int));
Blind Guard вне форума Ответить с цитированием
Старый 14.03.2012, 12:21   #3
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

создание:
Код:
int ****a;
a = new int *** [n1];
for (int i = 0; i < n1; ++i) {
  a[i] = new int ** [n2];
  for (int j = 0; j < n2; ++j) {
    a[i][j] = new int * [n3];
    for (int k = 0; k < n3; ++k) {
      a[i][j][k] = new int [n4];
    }
  }
}
удаление:
Код:
for (int i = 0; i < n1; ++i) {
  for (int j = 0; j < n2; ++j) {
    for (int k = 0; k < n3; ++k) {
      delete [] a[i][j][k];
    }
    delete [] a[i][j];
  }
  delete [] a[i];
}
delete [] a;
Форматируйте код, будьте людьми.

Последний раз редактировалось Granus; 14.03.2012 в 13:28.
Granus вне форума Ответить с цитированием
Старый 14.03.2012, 12:23   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Granus
неправильно

Код:
int ****a;
a = new int*** [n1];
и тд
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 14.03.2012 в 12:26.
pproger вне форума Ответить с цитированием
Старый 14.03.2012, 13:27   #5
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

pproger, черт, бывает же) исправил
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 17.03.2012, 16:11   #6
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Спасибо большое)
rmv240899 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические массивы в с++ Metallica Помощь студентам 0 23.11.2010 18:32
Динамические массивы Цветик Общие вопросы C/C++ 1 22.11.2010 08:46
Динамические массивы и массивы варианты N@stya Помощь студентам 0 11.06.2010 21:09