Pascal ABC. Написать процедуру, которая выводит на экран первые 3 элемента из массива, которые не равны друг другу. Или процедуру нахождения 3 максимальных элементов массива, которые не равны друг другу

Pascal ABC. Написать процедуру, которая выводит на экран первые 3 элемента из массива, которые не равны друг другу. Или процедуру нахождения 3 максимальных элементов массива, которые не равны друг другу
Гость
Ответ(ы) на вопрос:
Гость
var m:array[0..1000] of longint; n,i:longint; procedure tf;  var q,j:longint;  o:array[1..10] of longint;  begin   write(m[1],' ');   q:=1;   o[q]:=m[1];   i:=1;   while q<>3 do    begin    i:=i+1;       if q=1 then    if m[i]<>o[1] then     begin     write(m[i],' ');     q:=q+1;     o[q]:=m[i];     end;       if q=2 then      if (m[i]<>o[1]) and (m[i]<>o[2]) then        begin        write(m[i]);        q:=q+1;        end;    end; end; procedure tm; var mk:array[1..10] of longint;  begin  for i:=1 to 3 do  mk[i]:=0; for i:=1 to n do  if mk[1]mk[1]) then    begin    mk[3]:=mk[2];    mk[2]:=m[i];    end else  if (mk[3]m[i]) then mk[3]:=m[i]; write(mk[1],' ',mk[2],' ',mk[3]);  end; Скорее всего это можно было написать чище и оптимальнее, но вот моё решение на скорую руку 
Не нашли ответ?
Ответить на вопрос
Похожие вопросы