Дан массив a из 20 элементов. заменить отрицательные элементы массива на среднее арифметическое элементов массива.

Tahir353 Tahir353    1   25.05.2019 03:40    0

Ответы
Olenadob Olenadob  21.06.2020 03:33
Var
x,n:integer;
sr:real;
begin
sr:=0;
for n=1 to 20 do
begin
readln(x);
sr:=sr+x;
end;
sr:=sr/n;
for n=1 to 20 do
if x<0
then begin
                 x:=sr;
                writeln(x)
else writeln(x);
end.
ПОКАЗАТЬ ОТВЕТЫ
golubtsovanyut golubtsovanyut  21.06.2020 03:33
Var a: array [1..20] of real;
    i: integer;
    b: real;
begin
     for i := 1 to 20 do
     begin
          a[i] := random(100) - 50;
          writeln('[', i, '] => ', a[i]);
     end;
     writeln('');
     for i := 1 to 20 do
     begin
          b := b + a[i];
     end;
     b := b / 20;
     for i := 1 to 20 do
     begin
          if (a[i] < 0) then a[i] := b;
          writeln('[', i, '] => ', a[i]);
     end;
end.

Не самое короткое, зато наглядно =)
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика