Victor Surozhtsev
Просветленный
(34419)
5 лет назад
Может быть, на отрезке [-35;+35] ? А сколько всего элементов и какие это числа- целые или как?
Если числа целые и их много, то максимальный элемент может быть не единственным и запоминать в таком случае нужно все номера элементов с этим самым максимальным значением, для чего лучше всего использовать динамический массив. Да и для исходных элементов лучше сразу делать динамический массив, особенно если их количество вводится с экрана как целое число.
В общем так (для целых чисел!):
program maximum; var k,l,max,n:longint; a,b:array of integer; begin while true do begin write('n='); readln(n); randomize; max:=-1000; setlength(a,n); for k:=0 to n-1 do begin a[k]:=random(71)-35; if a[k]>max then begin max:=a[k]; l:=1; setlength(b,1); b[0]:=k end else if a[k]=max then begin l:=l+1; setlength(b,l); b[l-1]:=k end end; for k:=0 to n-1 do write(k+1,':',a[k],' '); writeln('Список номеров максимальных элементов со значением ',max,' :'); for k:=0 to l-1 do write(b[k],' ; ') end end.