Информатика, опубликовано 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.
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.
