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

Даны последовательности А,В,С. В каждой из них 20 целых чисел. В той последовательности, где больше всего 0(считая что такая последовательность одна), все 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 zb<>zr;   SWrite('B',b);   if zb>zr then begin r:=b; nr:='B'; zr:=zb end;   repeat     SGen(-9,3,c); zc:=SZeros(c);   until zc<>zr;   SWrite('C',c);   if zc>zr then begin r:=c; nr:='C'; zr:=zc end;   repeat     SGen(-2,7,d); zd:=SZeros(d);   until zd<>zr;   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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы