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

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

Войти
Регистрация
Восстановить пароль
 
zverek
2 / 1 / 0
Регистрация: 18.04.2012
Сообщений: 22
#1

Заполнение пятимерного массива - C++

01.03.2013, 16:14. Просмотров 282. Ответов 2
Метки нет (Все метки)

Здравствуйте!

В книге Бондарева В.М. "Программирование на С++" приведена следующая задачка:
Разместите в свободной памяти 5-мерный массив размером 2*2*2*2*2. Заполните его числами от 0 до 31.
Массив разместил и заполнил.
C++
1
2
3
4
5
6
7
8
9
10
11
//размещаю
int ((((*M)[2])[2])[2])[2] = new int[2][2][2][2][2];  
 
//заполняю  
int i=0;   
for (int a=0; a<2;a++)
    for (int b=0; b<2;b++)
        for (int c=0; c<2;c++) 
            for (int d=0; d<2;d++) 
                for (int e=0; e<2;e++)
                    M[a][b][c][d][e]=i++;
Но мне всегда не нравились многоуровневые for'ы. Как заполнить этот массив иным способом?
Например, оперируя адресом каждой ячейки массива и пройдя его весь за один for(i=0;i<32;i++) {...}.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2013, 16:14     Заполнение пятимерного массива
Посмотрите здесь:

Заполнение массива C++
Заполнение массива C++
Заполнение массива C++
Заполнение массива значениями из символьного массива C++
Заполнение массива C++
C++ Заполнение массива
C++ ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами
C++ Заполнение массива
Заполнение массива C++
Заполнение массива C++
Заполнение массива от 'А' до 'Я' и 'а' до 'я' C++
Заполнение массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cmath
Модератор
2426 / 1645 / 133
Регистрация: 11.08.2012
Сообщений: 3,274
Завершенные тесты: 5
01.03.2013, 16:41     Заполнение пятимерного массива #2
Цитата Сообщение от zverek Посмотреть сообщение
Например, оперируя адресом каждой ячейки массива и пройдя его весь за один for(i=0;i<32;i++) {...}.
Пример заполнения матрицы:
C++
1
2
3
4
5
6
7
int mat[2][2];
int *p = &m[0][0];
for(int i = 0; i < 4; i++)
{
     *p=i;
      p++;
}
zverek
2 / 1 / 0
Регистрация: 18.04.2012
Сообщений: 22
01.03.2013, 17:01  [ТС]     Заполнение пятимерного массива #3
cmath, то, что нужно! Спасибо!
Yandex
Объявления
01.03.2013, 17:01     Заполнение пятимерного массива
Ответ Создать тему
Опции темы

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