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

Преобразование 3-х мерного массива в одномерный - C++

Восстановить пароль Регистрация
 
Dominion50
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 8
11.01.2012, 13:13     Преобразование 3-х мерного массива в одномерный #1
Написать формулу для преобразования 3х индексов 3х мерного массива в 1 индекс одномерного, как зная адрес первого элемента массива и индекс одномерного
Вычислить адрес элемента в 3х мерном массиве!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
11.01.2012, 15:27     Преобразование 3-х мерного массива в одномерный #2
C++
1
2
3
4
5
   int X[M][N][K];
   pos1=m*K*N+n*K+k;// позиция в одномерном массиве
   m=pos1/(K*N);  // номер плоскости
   n=(pos1%(K*N))/K; // номер строки
   k=(pos1%(K*N))%K; // номер столбца
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
11.01.2012, 16:07     Преобразование 3-х мерного массива в одномерный #3
zss2, не прокатит. Не знаю, как на MSVS, но g++ такое не берет
А вот такое
C++
1
*(*(*(X + m) + n) + k)
без проблем. Так надежнее.
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
11.01.2012, 16:42     Преобразование 3-х мерного массива в одномерный #4
Я думаю, автор имел ввиду, что у него есть ДВА массива,
один - трехмерный, а второй с таким же количеством элементов,
но одномерный. И надо было найти взаимнооднозначное соответствие.
Yandex
Объявления
11.01.2012, 16:42     Преобразование 3-х мерного массива в одномерный
Ответ Создать тему
Опции темы

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