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

Ответы 3

  • Процедуре tf это первые три, а tm это три максимальные. Основной блок программы я писать не стал
    • Автор:

      katie100
    • 6 лет назад
    • 0
  • Спасибо
  • varm: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;varmk: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;Скорее всего это можно было написать чище и оптимальнее, но вот моё решение на скорую руку 
    • Автор:

      desmond
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years