Задать вопрос
2 декабря, 10:37

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

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

+1
Ответы (1)
  1. 2 декабря, 12:04
    0
    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 q3 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]
    begin

    mk[3]:=mk[2];

    mk[2]:=mk[1];

    mk[1]:=m[i];

    end else

    if (mk[2]
    begin

    mk[3]:=mk[2];

    mk[2]:=m[i];

    end else

    if (mk[3]
    write (mk[1],' ', mk[2],' ', mk[3]) ;

    end;

    Скорее всего это можно было написать чище и оптимальнее, но вот моё решение на скорую руку
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Pascal ABC. Написать процедуру, которая выводит на экран первые 3 элемента из массива, которые не равны друг другу. Или процедуру ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы