IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Трехмерный динамический массив в Pascal
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Создать трехмерный динамический массив типа 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;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 396
Пол: Мужской

Репутация: -  9  +


я бы наверно тип объявил попроще...

type TMass1=array of array of array of real;


после того как объявил обошел все элементы да и сделал что нужно например заполнить случайными где проблема?

mas[x][y][z]:=random(100)




--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 26
Пол: Мужской
Реальное имя: Роман

Репутация: -  0  +


Цитата
Заполнить случайными числами от 0 до 100


Цитата
mas[x][y][z]:=random(100)

Боюсь автор задачи предполагал, что верхняя граница должна быть тоже включена, поэтому, наверное, стоит писать Random (101);

Далее.. Наверное не стоит использовать динамику.
Код

type
       TArr = array [1..10] of array [1..10] of array [1..10] of Integer;


Далее нам нужно перемножить все элементы. Всего их 10^3. Предположим худший вариант, всё числа приняли значение 100. Тогда их произведение будет 100^(1000). Это не влезет никуда. (не рассматриваю вариант с длинной арифметикой)...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Знаток
****

Группа: Пользователи
Сообщений: 396
Пол: Мужской

Репутация: -  9  +


Цитата
Тогда их произведение будет 100^(1000). Это не влезет никуда.

ну если на первых ста вывалится 0 то и не страшно ;)
а вобще как обычно хотелось бы услышать об этой проблеме от автора...


--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Цитата(Rian @ 9.06.2013 22:58) *

ну если на первых ста вывалится 0 то и не страшно ;)
а вобще как обычно хотелось бы услышать об этой проблеме от автора...


Боюсь, что 0 при типе Real никогда не вылезет - всегда будет какая-то дробная часть (ну или практически всегда)


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 26
Пол: Мужской
Реальное имя: Роман

Репутация: -  0  +


Что-то я проглядел что массив вещественный..
Тогда Random должен выглядеть так :
Код
mas[x][y][z] := Random(100)+Random
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.12.2024 20:24
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name