Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Пропущен ; , но не знаю по чему

Автор: X.XaM_MaX.X 23.08.2006 14:18

Вопрос 1:
cube:array[1..12,1..2,1..3] of integer =
(
((-10,-10,-10),(10,-10,-10)),
((-10,-10,-10),(-10,10,-10)),
((-10,10,-10),(10,10,-10)),
((10,-10,-10),(10,10,-10)),
((-10,-10,10),(10,-10,10)),
((-10,-10,10),(-10,10,10)),
((-10,10,10),(10,10,10)),
((10,-10,10),(10,10,10)),
((-10,-10,10),(-10,-10,-10)),
((-10,10,10),(-10,10,-10)),
((10,10,10),(10,10,-10)),
((10,-10,10),(10,-10,-10))
);
пишет после integer пропущен ; , но почему? всё же правильно!

Вопрос 2:
Я правильно сделал предидущий массив?
(-10,-10,-10) это получается x,y,z у меня.
Размеры array я правильно задал? Вроде бы нет =(
Кстатей если я хочу вызвать второе число массива это делается так? cube[1,1,2] ?

Автор: volvo 23.08.2006 14:23

Цитата
пишет после integer пропущен ; , но почему? всё же правильно!
Если это описано как Const, то правильно... Если как Var - то будет ошибка, которую ты и привел...

Цитата
Кстатей если я хочу вызвать второе число массива это делается так? cube[1,1,2] ?
Что значит "второе число"? У тебя не одномерный массив, заметь, а трехмерный... Так что говори, в каком "слое" (будем так называть первое измерение), в какой строке (второе измерение), и в каком столбце (третье измерение)...

Автор: X.XaM_MaX.X 23.08.2006 14:28

А на счёт размера массива? Правильно? я написал от 1 до 12 в первом значении хотя это у меня вроде идёт по горизонтали =\

Автор: volvo 23.08.2006 14:31

Правильно... Не беспокойся, если будет неправильно, программа не будет компилироваться... Скажет тебе что-то вроде "ожидаю число, а ты какую-то скобку поставил" smile.gif

Автор: X.XaM_MaX.X 23.08.2006 14:33

Стоп если массив приставить как трёхмерный куб из чисел то получается так [x,y,z] ? Тоенсть длина слоя потом высота слоя , а потом количество слоёв?

Автор: volvo 23.08.2006 15:05

Нет... Сначала количество слоев, потом - высота, и только потом - длина.. А если ты добавишь четвертое измерение (скажем, время) - то чтобы это описать, нужно будет добавить еще один индекс ПЕРЕД количеством слоев...

Формально это объясняется так: родитель ЛЕВЕЕ потомка... КАЖДЫЙ слой содержит в себе описывающие его матрицы, поэтому индекс матрицы - правее индекса слоя... То же самое, матрица СОДЕРЖИТ координаты X, Y, Z Поэтому индекс отдельных координат ПРАВЕЕ индекса матрицы...

У меня такое ощущение, что ты попутал координаты X, Y, Z и индексы (которые ты назвал так же...) Просто обращайся к массиву так:

n_cube := 2; { <--- Номер куба }
my_cube := cube[n_cube]; { <--- Обращение к кубу с определенным номером (№2) }
n_vec := 1; { <--- Номер вектора, задающего куб }
my_layer := cube[n_cube, n_vec]; { <--- обращение к массиву координат заданного вектора куба №2 }
n_coord := 2; { <--- Координата Y }
my_coord := cube[n_cube, n_vec, n_coord]; { <--- обращение к координате Y заданного вектора куба №2 }

Только следи за типами, это важно...

Автор: X.XaM_MaX.X 23.08.2006 15:13

Нет вроде не попутал сам взгляни!


Прикрепленные файлы
Прикрепленный файл  NESTTEST.PAS ( 674 байт ) Кол-во скачиваний: 229

Автор: volvo 23.08.2006 15:24

А что собственно смотреть-то? Этот отрывок кода? Ну, посмотрел, и что? Не будет компилироваться. Ты ж даже задачу, которую решаешь, не описал. Откуда я знаю, что ты хочешь получить?

Автор: X.XaM_MaX.X 23.08.2006 15:31

Перепутал файл =(. Задачка вывести плоский квадрат, а за тем обьёмный, а затем добавить функцию поворота.
Первое я пожалуй сделал теперь его надо преобразовать в обьёмный =( У меня куча времени ушло писать кординаты одной сторона, а делать все шесть =\ Если более простой способ ?

Автор: volvo 23.08.2006 15:42

X.XaM_MaX.X, вот этот код, который ты привел в посте №7 - КОМПИЛИРУЕТСЯ ???

Прикрепленное изображение

"Остановите землю, я сойду !!!" (С)
Извини, но я в эту тему больше не ходок...

Автор: X.XaM_MaX.X 23.08.2006 15:45

Тьфу перепутал вот. Жаль из-за такй глупасти =( упустил свою надежду.


Прикрепленные файлы
Прикрепленный файл  NESTTEST.PAS ( 1.65 килобайт ) Кол-во скачиваний: 215

Автор: Archon 23.08.2006 19:16

Читай http://forum.pascal.net.ru/index.php?showtopic=4526