Pascal abc. написать процедуру, которая выводит на экран первые 3 элемента из массива, которые не равны друг другу. или процедуру нахождения 3 максимальных элементов массива, которые не равны друг другу
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]<m[i] then begin mk[3]:=mk[2]; mk[2]:=mk[1]; mk[1]:=m[i]; end else if (mk[2]<m[i]) and (m[i]<>mk[1]) then begin mk[3]:=mk[2]; mk[2]:=m[i]; end else if (mk[3]<m[i]) and (mk[2]<>m[i]) then mk[3]:=m[i];
write(mk[1],' ',mk[2],' ',mk[3]); end;
Скорее всего это можно было написать чище и оптимальнее, но вот моё решение на скорую руку
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку