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

0 голосов
42 просмотров

Дан одномерный массив A[n]. Найти минимум и среднее значение его отрицательных элементов. Получить новый массив В[n] путем замены всех минимальных элементов массива A на среднее значение.ПАСКАЛЬ,


Информатика (335 баллов) | 42 просмотров
0

Просто минимальное, не по модулю?

Дано ответов: 2
0 голосов
Правильный ответ
// 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;<br>  var negAvg:=a.Where(x->x<0).Average;<br>  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
(150k баллов)
0 голосов

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];<br>    End;
Sr:=Sr/N;
M:=A[1];
For i:= 2 to N do
    if 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.

(34.0k баллов)