Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
5 / 5 / 0
Регистрация: 16.07.2009
Сообщений: 87
1

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

10.08.2009, 21:11. Просмотров 599. Ответов 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 не все даже ввёл. наставьте на путь истинный...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2009, 21:11
Ответы с готовыми решениями:

Как заменить 0 в трехмерном массиве, которые находятся между определенными числами, на -1?
На вход программе дается размер матрицы (n), далее мы увеличиваем ее, но нумеруем только...

Как получить ключи в трёхмерном массиве?
Как получить ключи в трёхмерном массиве? Дано: $nazstr=44; $nazstr=88; ---- Нужно...

Как удалить элемент в трехмерном массиве
День добрый, Есть 3х мерный массив, который представляет собой набор дву-мерных матриц. Каждой...

Тени в трехмерном массиве.
Тени. В трехмерном массиве k(l, m, n), состоящем из нулей и единиц, хранится сеточное изображение...

6
инженер-системотехник
111 / 111 / 5
Регистрация: 10.03.2009
Сообщений: 533
10.08.2009, 21:20 2
Z у тебя уже записано: для первой точки это 1, для второй - 2.
0
Человек
97 / 82 / 7
Регистрация: 16.06.2009
Сообщений: 229
10.08.2009, 21:27 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;
1
5 / 5 / 0
Регистрация: 16.07.2009
Сообщений: 87
10.08.2009, 21:40  [ТС] 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 уже пишем в следующих скобках
по идее так
0
Человек
97 / 82 / 7
Регистрация: 16.06.2009
Сообщений: 229
10.08.2009, 21:45 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}   //
     }
    };
0
5 / 5 / 0
Регистрация: 16.07.2009
Сообщений: 87
10.08.2009, 21:54  [ТС] 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 вам за помощь
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
11.08.2009, 15:52 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;
 
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2009, 15:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти min в трехмерном массиве
Помогите доработать программу чтобы выводился min в трёхмерном массиве(сейчас ищет максимальное)...

Динамическое программирование в трёхмерном массиве
Здравствуйте Имеется классическая задача дп, только в трёхмерном массиве. В нём нужно найти...

Работа с индексами в Трёхмерном массиве
Доброго времени суток, на курсах задали такое задание: "Создайте программу, которая содержит...

Наименьшее значение в трехмерном массиве
Подскажите,пожалуйста, как написать код к заданию:написать программу поиска минимального элемента в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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