Дан одномерный массив a[n]. найти минимум и среднее значение его отрицательных элементов. получить новый массив в[n] путем замены всех минимальных элементов массива a на среднее значение.паскаль,

fana0296 fana0296    1   25.08.2019 06:40    2

Ответы
алисаиср1 алисаиср1  20.08.2020 15:25
Const
   N = 13;
Var
   A,B:array[1..N] of real;
   i:integer;
   Sr,M:real;
Begin
Write('Исходный массив: ');
For i:= 1 to N do
    Begin
    A[i]:=random(21)-10;
    Write(A[i],' ');
    if A[i]<0 then Sr:=Sr+A[i];
    End;
Sr:=Sr/N;
M:=A[1];
For i:= 2 to N do
    if A[i]<M then M:=A[i];
WriteLn;
Write('Переработанный массив: ');
For i:= 1 to N do
    Begin
    if A[i]=M then B[i]:=Sr
    else B[i]:=A[i];
    Write(B[i]:0:3,' ')
    End
End.
ПОКАЗАТЬ ОТВЕТЫ
32519 32519  20.08.2020 15:25
// PascalABC.NET 3.2, сборка 1389 от 01.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  var negMin:=a.Where(x->x<0).Min;
  var negAvg:=a.Where(x->x<0).Average;
  var b:=a.Select(x->real(x=NegMin?negAvg:x)).ToArray;
  b.Println
end.

Пример
n= 10
24 -57 1 97 -20 -42 38 22 7 74
24 -39.6666666666667 1 97 -20 -42 38 22 7 74
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика