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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 20:30   #1
revanatar
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 23
По умолчанию Трехмерный дин. массив

Народ, помогите плиз, нигде найти не могу как составить трехмерный динамический массив. Киньте код проги, или ссылку где есть такое. Заранее спасибо.
revanatar вне форума Ответить с цитированием
Старый 28.11.2010, 20:35   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
int*** array;
int n;
std::cin >> n;
array = new** int[n];
for(int i = 0; i < n; i++)
  {
  array[i] = new int*[n];
  for (int j = 0; j < n; j++)
    array[i][j] = new int[n];
  }
Вот так, к примеру, можно его создать.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 29.11.2010, 19:47   #3
revanatar
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 23
По умолчанию

Не работает, хз почему, разрулите плиз
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main()
{
int a,i,j,k,b,c,***mas;
srand(10);
printf("a=");
scanf ("%d",&a);
printf("b=");
scanf("%d",&b);
printf("c=");
scanf("%d",&c);
mas = new** int[a];
for(int i = 0; i < a; i++)
  {
  mas[i] = new int*[b];
  for (int j = 0; j < b; j++)
   { mas[i][j] = new int[c];
  }}
for(i=0;i<a;i++)
for(j=0;j<b;j++)
for(k=0;k<c;k++)
{mas[i][j][k]=rand()%70; 
  printf("%d ",mas[i][j]);
}
getch();
for(i=0;i<a;i++)
{delete mas[i];}
delete []mas;
return 0;
}
mas = new** int[a]; - тут ошибку пишет, * ему не нравится
И мне тут оформление не важно, важно - чтоб правильно работала.
И напишите как конкретно тут удалять из памяти.

Последний раз редактировалось revanatar; 29.11.2010 в 23:29.
revanatar вне форума Ответить с цитированием
Старый 29.11.2010, 22:02   #4
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

В глаза бросилось
Код:
mas[i][j][k]=rand()%70; 
printf("%d ",mas[i][j][k]);
Ну и с очисткой памяти тоже не все в порядке - удаляете только как у двумерного.
И вообще, отредактируйте сообщение, засунув код в тег CODE (значок # над окном редактирования сообщения) и как-нибудь поприличнее код оформите - по нескольку инструкций в строке, а равно и фигурных скобочек, да и код сразу же за открывающей фигурной скобкой глаз режут.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Трехмерный график в OpenGL. Как разметить оси? Беллая Мультимедиа в Delphi 5 10.11.2010 23:21
Упорядочить трехмерный массив и вывести максимальные 160 значений Alex Cones Общие вопросы Delphi 0 20.08.2009 12:30
Трехмерный (3D) ландшафт. OpenGL Flinka Помощь студентам 1 27.04.2009 14:45
трехмерный график на C# directX 9.0c ggetbraine Общие вопросы .NET 10 24.02.2009 19:19
Трехмерный график natasha Общие вопросы Delphi 5 27.08.2008 22:19