11.05.2017, 22:22 | #1 (permalink) |
Новичок
Регистрация: 11.05.2017
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Динамический массив. Free Pascal
Нужно что бы массив задавался аналогично как в этом примере: Десять раз генерировать последовательность из случайного количества целых чисел от 0 до 99. В каждой последовательности найти максимальное число. Сохранить эти максимальные числа и вывести их на экран. PHP код:
|
11.05.2017, 22:22 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Наверняка вам пригодится информация, которая содержится в похожих темах Чтение данных из файла. Free Pascal - Free Pascal Сделать динамический и статический массив, Delphi Работа с файлами и динамический массив. Delphi Динамический массив Pascal. Динамический массив |
11.05.2017, 23:12 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да пожалуйста:
Код:
{$R-} Const N=50; Type arrdin = array[1..1] of integer; Var row: ^arrdin; Med: Real; i,K: integer; Begin randomize; Med:=0; K:=0; getmem(row,N*sizeof(integer)); for i:=1 to N do begin row^[i]:=-20+random(100); write(row^[i]:5); if row^[i]>0 then begin Inc(K); Med:=Med+row^[i]; end; end; Writeln; Writeln; if K=0 then Writeln('No positive elements!') else begin Med:=Med/K; K:=0; for i:=1 to N do if row^[i]>Med then Inc(K); Writeln('Result: ',K,' elements'); end; freemem(row,N*sizeof(integer)); Readln End. |
12.05.2017, 12:13 | #3 (permalink) |
Member
Регистрация: 04.12.2016
Сообщений: 131
Сказал(а) спасибо: 25
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3445
|
Я бы объявил константу
Const MAX_N = 32768; и массив arrdin = array[1..MAX_N] of integer; и если N заранее не известно и будет вводиться пользователем, то сравнивать с MAX_N. Всё равно память выделяется getmem, но не пришлось бы проверку диапазонов отключать. |
12.05.2017, 15:35 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Что касается проверки диапазонов, то она, как правило, и так по умолчанию отключена. Что мне, к слову сказать, напрочь непонятно. Ибо и сам на этом подрывался, и, насколько знаю, отсутствие такого контроля - основная причина пресловутых "уязвимостей" и ОС, и приложений. Поэтому у меня она включена в настройках Паскаля, и отключается только принудительно. |
|
12.05.2017, 16:47 | #5 (permalink) | |
Member
Регистрация: 04.12.2016
Сообщений: 131
Сказал(а) спасибо: 25
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3445
|
Цитата:
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
16.05.2017, 10:37 | #6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Пошел не относящийся к теме флуд.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|