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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Nicl
 Аватар для Nicl
0 / 0 / 0
Регистрация: 07.10.2008
Сообщений: 26
#1

Преобразовать двухмерный массив в трехмерный - C++

16.10.2008, 17:06. Просмотров 1521. Ответов 2
Метки нет (Все метки)

Есть двухмерный массив a. Необходимо добавить ему еще одну размерность. Как это сделать в рамках функции?
C++
1
2
3
4
5
6
7
8
9
10
void IncreaseField (int **a, int col, int row)
{
    for (int i1 = 0; i1 < row; i1++)
    {
        for (int i2 = 0; i2 < col; i2++)
        {
            a[i1][i2] = new int [1]// так не хочет работать.
        }
    }
}
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2008, 17:06     Преобразовать двухмерный массив в трехмерный
Посмотрите здесь:

Вернуть указатель на трехмерный массив C++
C++ Трехмерный динамический массив типа char
C++ Трехмерный динамический массив
C++ Указатель на статический трехмерный массив
Как вывести трехмерный динамический массив C++
C++ Трехмерный массив char
Создать трехмерный массив C++
Заполнить и вывести трехмерный динамический массив C++
Правильно ли я заполняю трехмерный массив C++
C++ Создать трехмерный массив из динамических данных
C++ Чтение данных из файла в трехмерный массив
Преобразовать шестимерный массив в трехмерный C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2220 / 735 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
16.10.2008, 17:19     Преобразовать двухмерный массив в трехмерный #2
Nicl, Каждый элемент твоего двумерного массива имеет тип int. Ты пытаешься работать с ними,как с указателями. Не выйдет,естественно. Двумерный массив реализуют как массив указателей на одномерные. Трехмерный - как массив указателей на массивы указателей на одномерные массивы. В таком духе. Соответственно,тип переменной,"отвечающей" за трехмерный массив будет int ***
В связи с этим,думаю,стоит сделать у твоей функции возвращаемый тип int ***, и внутри инициализировать нужный массив. Старый же двумерный удалить.
Nicl
 Аватар для Nicl
0 / 0 / 0
Регистрация: 07.10.2008
Сообщений: 26
16.10.2008, 17:32  [ТС]     Преобразовать двухмерный массив в трехмерный #3
XuTPbIu_MuHTAu,
Понятно, спасибо. От нового массива в принципе только лучше будет.
Yandex
Объявления
16.10.2008, 17:32     Преобразовать двухмерный массив в трехмерный
Ответ Создать тему
Опции темы

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