Предмет: Информатика, автор: tesla282

Задан числовой массив, состоящий из 11 элементов. Увеличьте все элементы данного массив, значения которых больше среднего арифметической всех элементов массива на 40 и выведите все элементы на экран. Паскаль

Ответы

Автор ответа: Аноним
0
Вот решение задачи:


uses Crt;
const n=11;
type Mas = array [1..n] of real;
var  A: Mas;
     i: integer;
     Sum, Sred: real;
begin
ClrScr;

Sum:=0;
for i:=1 to n do
  begin
      A[i]:= 100+random(1000)/27;
      Sum:=Sum+A[i];
  end;
Sred:=Sum/n;
WriteLn ('Old Massiv:  ');
for i:=1 to n do
      Write (A[i]:6:2,'    ');

WriteLn; WriteLn;
WriteLn ('Sred = ', Sred:6:2);
WriteLn;
WriteLn ('New Massiv:  ');
for i:=1 to n do
  begin
      if A[i]>Sred then A[i]:=A[i]+40;
      Write (A[i]:6:2,'    ');
  end;
WriteLn;

 ReadLn;
 end.


HorseOfLight: Много лишнего.
HorseOfLight: Отсутствует заполнение массива.
Аноним: Массив заполнен вещественными числами при помощи датчика СЧ
HorseOfLight: Хорошо.
Автор ответа: HorseOfLight
0
Я немного оптимизировал, если ты не против.
uses crt;
const n=11;
Var a:
array [1..n] of real;
  i: integer;
  sum,sred:real;
Begin
sum:=0;
  for i:=1 to n do readln(a[i]);
  for i:=1 to n do sum
  sred:=sum/n;
  for i:=1 to n do
  begin
       if a[i]>sred then a[i]:=a[i]+40;
       write (a[i]:3:2,'    ');
  end;
End.

Похожие вопросы