Задать вопрос
17 июля, 00:25

Даны последовательности А, В, С. В каждой из них 20 целых чисел. В той последовательности, где больше всего 0 (считая что такая последовательность одна), все 0 заменить наибольшим значением данной последовательности (теория алгоритмов)

+3
Ответы (1)
  1. 17 июля, 04:09
    0
    Const

    n=20;

    type

    S=array[1 ... n] of integer;

    procedure SGen (a, b:integer; var m:S) ;

    { Заполняет массив m случайными числами из интервала [a; b] }

    var

    i:integer;

    begin

    Randomize;

    for i:=1 to n do m[i]:=Random (b-a+1) + a

    end;

    procedure SWrite (SName:char; a:S) ;

    { Выводит массив a с указанием имени SName в заголовке }

    var

    i:integer;

    begin

    Writeln ('Последовательноcть ', SName) ;

    for i:=1 to n do Write (a[i],' ') ;

    Writeln

    end;

    function SZeros (a:S) : integer;

    { Возвращает количество нулей в массиве a }

    var

    i, k:integer;

    begin

    k:=0;

    for i:=1 to n do

    if a[i]=0 then Inc (k) ;

    SZeros:=k

    end;

    var

    a, b, c, d, r:S;

    nr:char;

    za, zb, zc, zd, zr, i, mx:integer;

    begin

    SGen (-5,5, a) ; SWrite ('A', a) ; za:=SZeros (a) ;

    r:=a; nr:='A'; zr:=za;

    repeat

    SGen (-8,9, b) ; zb:=SZeros (b) ;

    until zbzr;

    SWrite ('B', b) ;

    if zb>zr then begin r:=b; nr:='B'; zr:=zb end;

    repeat

    SGen (-9,3, c) ; zc:=SZeros (c) ;

    until zczr;

    SWrite ('C', c) ;

    if zc>zr then begin r:=c; nr:='C'; zr:=zc end;

    repeat

    SGen (-2,7, d) ; zd:=SZeros (d) ;

    until zdzr;

    SWrite ('D', d) ;

    if zd>zr then begin r:=d; nr:='D'; zr:=zd end;

    mx:=r[1];

    for i:=2 to n do

    if r[i]>mx then mx:=r[i];

    for i:=1 to n do

    if r[i]=0 then r[i]:=mx;

    Writeln;

    SWrite (nr, r)

    end.

    Контрольное выполнение

    Последовательноcть A

    -5 4 0 - 1 2 - 1 4 - 5 3 3 1 5 - 2 1 - 1 - 5 - 1 - 1 0 4

    Последовательноcть B

    -1 1 4 6 8 - 1 - 8 - 8 5 4 - 2 0 - 2 8 3 - 8 - 6 - 3 9 - 7

    Последовательноcть C

    -4 - 3 0 1 2 - 4 - 9 - 9 0 0 - 5 - 4 - 5 2 - 1 - 9 - 8 - 5 3 - 8

    Последовательноcть D

    1 3 5 5 7 2 - 2 - 2 5 5 1 2 1 6 4 - 2 - 1 1 7 - 2

    Последовательноcть C

    -4 - 3 3 1 2 - 4 - 9 - 9 3 3 - 5 - 4 - 5 2 - 1 - 9 - 8 - 5 3 - 8
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Даны последовательности А, В, С. В каждой из них 20 целых чисел. В той последовательности, где больше всего 0 (считая что такая ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы