Задан одномерный массив x(n) (n<=50) создать массив y(5) в который записать модуль суммы отрицательных элементов сумму положительных элементов среднее арифметическое всех элементов массива X количество отрицательных элементов и количество положительных элементов массива X результат вывести на экран - Pascal(Паскаль)

uses crt;
var
x:array[1..50]of integer;
y:array[1..5]of real;
i,sumot,sump,kolot,kolp,sum:integer;
sr:real;
begin clrscr;
for i:=1 to 50 do
 begin
  x[i]:=random(20)-10;
  write(x[i],'  ');
 end;
writeln;
sump:=0; sumot:=0;
kolp:=0; kolot:=0;
for i:=1 to 50 do
 begin
  if x[i]>0 then
   begin
    sump:=sump+x[i];
    inc(kolp);
   end;
  if x[i]<0 then
   begin
    sumot:=sumot+x[i];
    inc(kolot);
   end;
 end;
sum:=0;
for i:=1 to 50 do
sum:=sum+x[i];
sr:=sum/50;
y[1]:=abs(sumot);
y[2]:=sump;
y[3]:=sr;
y[4]:=kolot;
y[5]:=kolp;
writeln;
for i:=1 to 5 do
write(y[i]:2:2,'  ');
readkey;
end.

Вариант 2

uses crt;
var x:array[1..100] of real;
    y:array[1..5] of real;
    sum,sum2,sum1,sr:real;
    i,n,pol,otr:integer;
 begin
  ClrScr;
  Randomize;
  repeat
   Write('n=');
   Readln(n);
  until (n>1) and (n<=50);
   for i:=1 to n do
    begin
     x[i]:=-10+random(20);
     Write(x[i]:5:1);
    end;
  for i:=1 to n do
   begin
    sum1:=0;
    sum2:=0;
    sum:=0;
     sum:=sum+x[i];
     if x[i]<0 then
      begin
       otr:=otr+1;
       sum1:=sum1+x[i];
       sum1:=abs(sum1);
      end;
     if x[i]>0 then
      begin
       pol:=pol+1;
       sum2:=sum2+x[i];
      end;
     sr:=sum/n;
    y[1]:=sum1;
    y[2]:=sum2;
    y[3]:=sr;
    y[4]:=otr;
    y[5]:=pol;
   end;
   Writeln;
    for i:=1 to 5 do
     Write(y[i]:5:1);
  Readln;
 end.

Вариант 3

uses crt;
var x:array[1..100] of real; 
    y:array[1..5] of real;
    sum,sum2,sum1,sr:real;
    i,n,pol,otr:integer;
 begin
  ClrScr;
  Randomize;
  repeat
   Write('n='); {вводим кол-во элементов массива х}
   Readln(n);
  until (n>1) and (n<=50); {проверка на соблюдение условия}
   for i:=1 to n do
    begin
     x[i]:=-10+random(20); {заполнение массива х различными числами}
     Write(x[i]:5:1); {вывод на экран массив}
    end;
  for i:=1 to n do
   begin
    sum1:=0; 
    sum2:=0;
    sum:=0; 
     sum:=sum+x[i]; {находим сумму элементов массива}
     if x[i]<0 then {если элемент меньше 0}
      begin
       otr:=otr+1; {считаем кол-во отрицательных}
       sum1:=sum1+x[i]; 
       sum1:=abs(sum1); {находим абсолютную величину, т.е по модулю}
      end;
     if x[i]>0 then {если элемент больше 0}
      begin
       pol:=pol+1; {считаем кол-во положительных}
       sum2:=sum2+x[i]; {находим сумму}
      end;
     sr:=sum/n; {находим среднее арифметическое}
    y[1]:=sum1; {каждому элементу массива y присваеваем значение по условию}
    y[2]:=sum2; {....}
    y[3]:=sr; {....}
    y[4]:=otr; {....}
    y[5]:=pol; {.....}
   end;
   Writeln;
    for i:=1 to 5 do
     Write(y[i]:5:1); {выводим массив y}
  Readln;
 end.

Leave a Comment

+ 32 = 40