Помогите решить задачу в паскале.Даны три массива:A = {17.2, 9.3, 14.5, -11.7, 4.3, 5.9,...

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

Помогите решить задачу в паскале.
Даны три массива:
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}.


Для
каждого из массивов найти суммы положительных элементов. Использовать
подпрограмму.


Информатика (31 баллов) | 37 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

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



(142k баллов)
0

А можно в Pascale ABC плз

0 голосов
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.



(16.9k баллов)
0

Сумма, вроде...)

0

Да не... Правильно всё должно быть, у меня норм работает)

0

Shift+F8 в помощь, наверное, не знаю я)

0

Я изменил сразу же, обновлять надо почаще:) Ладно, прошу прощения))