Решить на паскале, используя циклы. вводится последовательность целых чисел, не превосходящих по модулю 10^9, и при этом не равных нулю. ноль – признак конца. вы- дайте три максимальных числа этой последовательности, не игнорируя дубликаты (то есть, три числа в ответе могут совпадать). гарантирует- ся, что в последовательности есть как минимум три содержательных элемента.

sashatitsky sashatitsky    3   16.07.2019 19:00    1

Ответы
коля856 коля856  07.09.2020 13:24
//Знаю, что это решение далеко от понятия "изящество"
//Pascal ABC.NET v3.0 сборка 1111
var
 max1,max2,max3,i,maxi1,maxi2:integer;
 ar:array of integer;
begin
max1:=-2147483648;
max2:=-2147483648;
max3:=-2147483648;
setlength(ar,1);
readln(ar[0]);
i:=0;
 repeat
  inc(i);
  setlength(ar,i+1);
  readln(ar[i]);
 until ar[i]=0;
 for i:=0 to i do
 if ar[i]>max1 then
  begin;
   max1:=ar[i];
   maxi1:=i;
  end;
 for i:=0 to i do
 if (ar[i]>max2) and (i<>maxi1) then
  begin;
   max2:=ar[i];
   maxi2:=i;
  end;
 for i:=0 to i do
 if (ar[i]>max3) and (i<>maxi1) and (i<>maxi2) then max3:=ar[i];
write('Max1=',max1,' Max2=',max2,' Max3=', max3);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика