Информатика, опубликовано 2018-08-22 23:01:29 by Гость

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

Ответ оставил Гость

//Знаю, что это решение далеко от понятия "изящество"
//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 (imaxi1) then
  begin;
   max2:=ar[i];
   maxi2:=i;
  end;
 for i:=0 to i do
 if (ar[i]>max3) and (imaxi1) and (imaxi2) then max3:=ar[i];
write(Max1=,max1, Max2=,max2, Max3=, max3);
end.

Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.

Форма вопроса доступна на полной версии этой страницы.