Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2013, 17:39   #1
4итер
Пользователь
 
Регистрация: 17.05.2012
Сообщений: 13
По умолчанию Трехмерный динамический массив в Pascal

Создать трехмерный динамический массив типа real 10*10*10. Заполнить случайными числами от 0 до 100, в цикле перемножить все элементы и поделить на их количество.
Массив вроде как описать смог, а дальше не пойму.
Код:
type TMass1=array of real;
       TMass2=array of TMass1;
       TMass3=array of TMass2;
var i,j:real;
Setlength(FMass,10);
for i:=Low(FMass) to High(FMass) and
begin
Setlength(FMass[i],10);
for j:=Low(FMass[i] to High(FMass[j]
Setlength(FMass[i][j],10);
end;
4итер вне форума Ответить с цитированием
Старый 04.06.2013, 18:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
вроде как
Вот вот...
Код:
type TMass1=array of array of array of real;

var i,l,j:integer; FMass:TMass;
Setlength(FMass,10,10,10);
for i:=Low(FMass) to High(FMass) do
 for j:=Low(FMass[i]) to High(FMass[i]) do
  for l:=Low(FMass[i,j]) to High(FMass[i,j]) do
    FMass[i,j,l]:=random();
Вот так еще более менее правильно будет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2013, 18:22   #3
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

1) Поиск по форуму: http://www.programmersforum.ru/showthread.php?t=8011

2) Код можно упростить:
Код:
var Mass: array of array of array of real;
begin
SetLength(Mass,size_i,size_j,size_k); //или SetLength(Mass,10,10,10);
//...
end.
3) Заполнить случайными числами от 0 до 100 - пробег по каждому элементу данного массива с помощью трёх вложенных циклов.
Код:
For i:=0 to size_i -1 do
  For j:=0 to size_j - 1 do
    For k:=0 to size_k - 1 do
      Mass[i,j,k] := ... //думаю поймёте, что тут необходимо написать
4) перемножение элементов - аналогично
5) Поделить их на количество - не ясное условие. Поделить каждый элемент массива на кол-во или поделить их произведение? В любом случае, если всё выше написанное реализовано этот вопрос достаточно просто решается.
zetrix вне форума Ответить с цитированием
Старый 05.06.2013, 10:51   #4
4итер
Пользователь
 
Регистрация: 17.05.2012
Сообщений: 13
По умолчанию

не понимаю как в цикле перемножить все элементы. з.ы. и поделить их на 100
4итер вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Трехмерный динамический массив (задание размеров), как? trafbite Общие вопросы Delphi 7 06.08.2012 12:41
трехмерный массив world12_tk Помощь студентам 2 06.01.2012 17:04
Динамический массив (Pascal) Никита123 Помощь студентам 0 20.12.2011 00:44
pascal динамический массив world12_tk Помощь студентам 3 21.04.2009 06:04