Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
FireProoF
17 / 17 / 1
Регистрация: 28.10.2012
Сообщений: 192
#1

Динамический трёхмерный массив (создать) - C++

06.12.2012, 14:55. Просмотров 2539. Ответов 12

Помогите создать трёхмерный динамический массив.
C++
1
2
3
4
5
int size=10;
    int ***Field;
    Field=new int**[size];
    for(int i=0;i<size;i++)     Field[i]=new int*[size];
    for(int i=0;i<3;i++)        Field[i]=new int[3];
Ошибка:
error C2440: =: невозможно преобразовать "int *" в "int **"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 14:55     Динамический трёхмерный массив (создать)
Посмотрите здесь:

Создать трёхмерный динамический массив - C++
Пытаюсь создать трёхмерный динамический массив. Но создаётся не любого типа. Вроде 0 5 1. или 2 2 2 Не создаются. Выдаёт ошибку Access...

Трёхмерный динамический массив - C++
Учусь делать многомерные динамические массивы. Написал прогу int _tmain(int argc, _TCHAR* argv) { int M, N, L, i, j, k, b = 9, a...

Трёхмерный динамический массив - C++
Доброго времени суток! Не могу создать трёхмерный динамический массив! Точнее создаю один раз заполняю. Но когда пытаюсь заполнить второй...

Динамический трёхмерный массив - C++
Товарищи, помогите найти ошибку. Создаю 3х мерный динамический массив: int z; cout&lt;&lt;&quot;Input y\n&quot;; cin&gt;&gt;y; cout&lt;&lt;&quot;\nInput...

Создать динамический массив - C++
Создать динамический массив указателей для сохранения двухмерного массива А в динамической памяте. Составить программу для подсчета суммы...

Трёхмерный массив в Функцию - C++
Трёхмерный массив в Функцию нужно засунуть и изменять значение переменой которую передали в неё как реализовать ?! #include &lt;iostream&gt;...

Создать класс-динамический массив - C++
Помогите, пожалуйста!! не могу решить задачу, очень важно! Условие:создайте класс – динамический массив. В качестве элементов массива...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
06.12.2012, 14:58     Динамический трёхмерный массив (создать) #2
C++
1
Field[i]
это двойной указатель.
Вам нужно что-то вроде
C++
1
Field[i][j]
prazuber
108 / 108 / 3
Регистрация: 29.04.2010
Сообщений: 240
06.12.2012, 15:01     Динамический трёхмерный массив (создать) #3
Если я правильно понял, вам нужно что-то вроде такого:
C++
1
2
3
4
5
6
7
8
9
10
int size=10;
int ***Field = new int** [size];
for (int i = 0; i < size; i++)   
{
    Field[i] = new int* [size];
    for(int j = 0; j < 3; j++) 
    {
        Field[i][j] = new int [3];
    }
}
FireProoF
17 / 17 / 1
Регистрация: 28.10.2012
Сообщений: 192
06.12.2012, 15:03  [ТС]     Динамический трёхмерный массив (создать) #4
Благодарю за помощь!
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
06.12.2012, 15:05     Динамический трёхмерный массив (создать) #5
Цитата Сообщение от PraZuBeR Посмотреть сообщение
C++
1
2
3
4
Field[i] = new int* [size];
for(int j = 0; j < 3; j++) {
   Field[i][j] = new int [3];
}
Думаю скорее j < size в условии.
prazuber
108 / 108 / 3
Регистрация: 29.04.2010
Сообщений: 240
06.12.2012, 15:06     Динамический трёхмерный массив (создать) #6
gray_fox, спасибо, неуглядел.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.12.2012, 15:17     Динамический трёхмерный массив (создать) #7
Цитата Сообщение от FireProoF Посмотреть сообщение
Field[i]=new int[3];
Ну правильно. new int[3] возвращает простой указатель на int, а Field - тройной указатель на int. Ты используешь индекс, а указатель эквивалентен массиву? Эйис. 1 индекс, значит размерность элемента меньше, чем размерность массива на 1, то есть этот элемент - двойной указатель. Здесь нужны 2 индекса, а не 1. Кроме того, с учётом
Цитата Сообщение от FireProoF Посмотреть сообщение
int ***Field;
дай ка декларацию оператора [].
FireProoF
17 / 17 / 1
Регистрация: 28.10.2012
Сообщений: 192
06.12.2012, 18:33  [ТС]     Динамический трёхмерный массив (создать) #8
А возможно ли присвоить значение таким образом:

C++
1
2
//до этого я объявил 3д массив
Field[1][1]=10;
Чёт не получается так.
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
06.12.2012, 18:36     Динамический трёхмерный массив (создать) #9
FireProoF, нет. Какого результата ожидаешь?
FireProoF
17 / 17 / 1
Регистрация: 28.10.2012
Сообщений: 192
06.12.2012, 18:37  [ТС]     Динамический трёхмерный массив (создать) #10
C++
1
2
Field[1][1]=10;
cout<<Field[1][1];
10
Если нельзя так, то зачем нужны 3D массивы? Или это только с динамическими?
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
06.12.2012, 18:39     Динамический трёхмерный массив (создать) #11
то есть создали "трехмерный" массив, а обращаемся как к двухмерному?
C++
1
Field[1][1]
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
06.12.2012, 18:40     Динамический трёхмерный массив (создать) #12
FireProoF, так ведь Field[1][1] - это указатель.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2012, 18:41     Динамический трёхмерный массив (создать)
Еще ссылки по теме:

Создать динамический массив указателей - C++
Создать динамический массив указателей для сохранения двумерного массива А в динамической памяти. Составить программу для подсчета...

Создать динамический массив структур - C++
День добрый! Собственно задачка: Определить пользовательский тип (структуру), включающий в себя следующие поля: строка, целое число,...

Создать двухмерный динамический массив строк - C++
Ввести 2-мерный массив. Количество строк и столбцов заранее неизвестно. Признаком конца ввода строки - ввод указанной пользователем...

Как создать динамический массив строк? - C++
Делаю лабораторную и пока только разбираюсь, как создать динамический массив строк Написал вот это, но при печати строки появляется...

Создать динамический массив целого типа - C++
Создать динамический массив целого типа на 100 элементов


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
06.12.2012, 18:41     Динамический трёхмерный массив (создать) #13
у трехмерного массива три измерения, а значит и индекса тоже три
Yandex
Объявления
06.12.2012, 18:41     Динамический трёхмерный массив (создать)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru