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

Помогите решить задачу в паскале. Даны три массива: 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}. Для каждого из массивов найти суммы положительных элементов. Использовать подпрограмму.
Гость
Ответ(ы) на вопрос:
Гость
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.
Гость
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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы