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

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

Войти
Регистрация
Восстановить пароль
 
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
#1

Как записать Z в трёхмерном массиве - C++

10.08.2009, 21:11. Просмотров 477. Ответов 6
Метки нет (Все метки)

ребята, простите за дурной вопрос, но не могу разобраться.

есть массив
C++
1
2
3
4
const int Y = 2, X = 2, Z = 2;
int a[Z][Y][X] =   {1,1,1,
              2,2,2,
};
куда записывать Z?
судя из C++. Бархатный путь. Часть 1
Первыми инициализируются элементы с самыми маленькими индексами, т.е. я так понимаю должно быть так:
MyArray[0][0][0] == 1
MyArray[0][0][1] == 1
MyArray[0][0][2] == 1
MyArray[0][1][0] == 2
MyArray[0][1][1] == 2
MyArray[0][1][2] == 2
и далее нули т.к. ничего не задано..

по этой логике после двоек я могу записывать координаты Z, но компилятор выдаёт ошибку. по идее Y не все даже ввёл. наставьте на путь истинный...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2009, 21:11     Как записать Z в трёхмерном массиве
Посмотрите здесь:

Как записать на С 8*10^(-7)? C++
C++ записать несколько элементов в вектор сразу, как в массиве
Полиморфизм, Точка в трёхмерном пространстве C++
C++ Как проверить в массиве слова и записать их?
Составить описания класса для векторов задаваемые координатами концов в трёхмерном пространстве C++
Как записать в с++? C++
Записать число в 32-разрядном массиве C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Haster
инженер-системотехник
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
10.08.2009, 21:20     Как записать Z в трёхмерном массиве #2
Z у тебя уже записано: для первой точки это 1, для второй - 2.
mustardandrew
Человек
96 / 80 / 3
Регистрация: 16.06.2009
Сообщений: 229
10.08.2009, 21:27     Как записать Z в трёхмерном массиве #3
Запиши лучше
C++
1
2
3
4
5
const int Y = 2, X = 2, Z = 2;
int a[Z][Y][X] =   {
    {{1, 2},{3, 4}},
    {{5, 6},{7, 8}}
    };
где

a[0][0][0] = 1;
a[0][0][1] = 2;
a[0][1][0] = 3;
a[0][1][1] = 4;
a[1][0][0] = 5;
a[1][0][1] = 6;
a[1][1][0] = 7;
a[1][1][1] = 8;
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
10.08.2009, 21:40  [ТС]     Как записать Z в трёхмерном массиве #4
а если у меня есть изображение в массиве, и его я вывожу на экран после. своего рода матрица
ну например
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int a[Y][X] = {
                    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
};
как можно сделать несколько таких слоёв в одном массиве но при помощи координаты Z? тобишь если Z=0 одно изображение, если =1 - другое, и т.д

Добавлено через 2 минуты 12 секунд
а всё кажется начинаю понимать, попробую как предложил DreamWolf

Добавлено через 6 минут 28 секунд
т.е. если Z=1 то делаем так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
                              {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
а Z=2 уже пишем в следующих скобках
по идее так
mustardandrew
Человек
96 / 80 / 3
Регистрация: 16.06.2009
Сообщений: 229
10.08.2009, 21:45     Как записать Z в трёхмерном массиве #5
В посте №3 всьо написано понятно.
Если не понял то напишу проще
C++
1
2
3
4
5
6
7
8
9
10
11
const int Y = 2, X = 2, Z = 2;
int a[Z][Y][X] =   {
    {
      {1, 2},  // Ето Z = 0
      {3, 4}   //
    },           
    {
      {5, 6},  // Ето Z = 1           
      {7, 8}   //
     }
    };
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
10.08.2009, 21:54  [ТС]     Как записать Z в трёхмерном массиве #6
да понял я, спасибо за помощь.
сделал так:

C++
1
2
3
4
5
6
7
8
9
10
const int Y = 2, X = 3, Z = 3;
void main()
{
 
    int a[Z][Y][X] =   {{ 1,2,3,
                          4,5,6},
                        { 7,8,9,
                          10,11,12}, 
                        { 13,14,15,
                          16,17,18}};
+1 вам за помощь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2009, 15:52     Как записать Z в трёхмерном массиве
Еще ссылки по теме:

Записать в третий массив С все элементы из массива B, которые не встречаются в массиве А C++
Даны вектора в трёхмерном пространстве, создать класс C++
C++ Как правильно записать алгоритм и как отобразить max и min?
Как записать ln|x|? C++
C++ Найти 10 наибольших чисел в массиве из 10000 чисел и записать в массив

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

Или воспользуйтесь поиском по форуму:
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
11.08.2009, 15:52     Как записать Z в трёхмерном массиве #7
сделал так
Ну и неправильно сделал, должно быть так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
const int Y = 2, X = 3, Z = 3;
 
int main() {
 
int a[Z][Y][X]= {
    { { 1,2,3 }, { 4,5,6 } },
    { { 7,8,9 }, { 10,11,12 } },
    { { 13,14,15 }, { 16,17,18 } }
};
 
return 0;
 
}
Yandex
Объявления
11.08.2009, 15:52     Как записать Z в трёхмерном массиве
Ответ Создать тему
Опции темы

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