Решить в паскале. даны три массива: a = {17.2, 9.3, 14.5, -11.7, 4.3, 5.9, -11.9, 12.3, -14.1, -15.3}, b = {-1.2, 4.2, 5.9, -18.1, 21.2, -3.1, -5.3, -12.2, 21.4, -4.5, 8.2, 9.4}, c = {3.5, 8.4, -3.2, 4.5, -8.4, -9.5, 1.5,9.3}. для каждого из массивов найти суммы положительных элементов. использовать подпрограмму.

SkipMe SkipMe    2   09.06.2019 02:20    0

Ответы
zavirohinoleksa zavirohinoleksa  07.07.2020 23:47
Type
  V = array of real;

function SumPos(a:V): real;
var
  i: integer;
  s: real;
begin
  s := 0;
  for i := 0 to Length(a, 0) - 1 do
    if a[i] > 0 then s := s + a[i];
  Result := s
end;

var
  A, B, C: V;

begin
  A := new real[10] (17.2, 9.3, 14.5, -11.7, 4.3, 5.9, -11.9, 12.3, -14.1, -15.3);
  B := new real[12] (-1.2, 4.2, 5.9, -18.1, 21.2, -3.1, -5.3, -12.2, 21.4, -4.5, 8.2, 9.4);
  C := new real[8] (3.5, 8.4, -3.2, 4.5, -8.4, -9.5, 1.5, 9.3);
  writeln('Сумма положительных элементов массива А ',SumPos(A));
  writeln('Сумма положительных элементов массива B ',SumPos(B));
  writeln('Сумма положительных элементов массива C ',SumPos(C));
end.

Тестовый прогон:

Сумма положительных элементов массива А 63.5
Сумма положительных элементов массива B 70.3
Сумма положительных элементов массива C 27.2
ПОКАЗАТЬ ОТВЕТЫ
svetlanaGB svetlanaGB  07.07.2020 23:47
function subprogram(a: array of real): real;
begin
  foreach obj: real in a do
    if (obj > 0) then
      result += obj;
end;

var
  a: array of real := (17.2, 9.3, 14.5, -11.7, 4.3, 5.9, -11.9, 12.3, -14.1, -15.3);
  b: array of real := (-1.2, 4.2, 5.9, -18.1, 21.2, -3.1, -5.3, -12.2, 21.4, -4.5, 8.2, 9.4);
  c: array of real := (3.5, 8.4, -3.2, 4.5, -8.4, -9.5, 1.5, 9.3);

begin
  writeln('a => ', subprogram(a));
  writeln('b => ', subprogram(b));
  writeln('c => ', subprogram(c));
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика