Дан массив A из 20 элементов. Заменить отрицательные элементы массива на среднее арифметическое элементов массива.
Дан массив A из 20 элементов. Заменить отрицательные элементы массива на среднее арифметическое элементов массива.
Ответ(ы) на вопрос:
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.
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.
Не самое короткое, зато наглядно =)
Не нашли ответ?
Похожие вопросы