Написать решение ** языке Pascal/ Определить частное от деления суммы положительных...

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

Написать решение на языке Pascal/ Определить частное от деления суммы положительных элементов массива на модуль суммы отрицательных элементов.
Массивы только начали проходить, написать как можно проще.


Информатика (89 баллов) | 33 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const
  n = 15;

var
  a:array[1..n] of integer;
  i,sp,sn: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  sp:=0; sn:=0;
  for i := 1 to n do
  begin
    a[i] := Random(51)-25;
    Write(a[i]:4);
    if a[i]<0 then sn:=sn+a[i]<br>    else sp:=sp+a[i]
  end;
  Writeln;
  Writeln('Частное: ',sp/abs(sn))
end.

Тестовое решение:
Элементы массива
   2 -25   0   5  24   4   3   1  12  13  10   1   6  13 -17
Частное: 2.23809523809524

Вариант со вводом данных с клавиатуры:
const
  n = 15;

var
  a:array[1..n] of integer;
  i,sp,sn: integer;

begin
  Writeln('Вводите через пробел элементы массива');
  sp:=0; sn:=0;
  for i := 1 to n do
  begin
    Read(a[i]);
    if a[i]<0 then sn:=sn+a[i]<br>    else sp:=sp+a[i]
  end;
  Writeln('Частное: ',sp/abs(sn))
end.

(142k баллов)
0

a[i] := Random(51)-25;
Write(a[i]:4); что это значит?

0

и что такое abs(sn) ?

0

abs - модуль, Write - оператор вывода, :4 означает, что вывод идет в 4 позиции, Random(51)-25 при обращении возвращает некое случайное число в диапазоне [-25;25]

0

ох, а можно без этого как-то обойтись? просто мы такого не проходили,мне не зачтут(

0

Откуда мне знать, что Вы проходили, а что нет?

0

Если не хотите случайные числа, уберите Randomize и строку с Random, но тогда перед этим надо сделать цикл ввода данных с клавиатуры

0

Поняла, спасибо огромное!