Процедура: вычисление произведения отрицательных элементов массива - Free Pascal

Формулировка задачи:

Помогите пожалуйств составить подпрограмму - процедуры вычисления произведения отрицательных элементов массива B(2×3)rightarrow PO и использовать ее для вычисления выражения: X(i - нижний индекс)= а^2(i - нижний индекс)/2РО В(i,j -нижний индекс)=|-0.4 2.8 -12.6| |5.5 -0.5 6.2 | a(i -нижний индекс)=10.2;8;25. Буду очень благодарен.

Код к задаче: «Процедура: вычисление произведения отрицательных элементов массива - Free Pascal»

textual
type arr = array[1..3] of double;
     matrix = array[1..2, 1..3] of double;
 
procedure pn(const x: matrix; var p: double);
var i, j: integer;
begin
  p := 1;
  for i := 1 to 2 do
    for j := 1 to 3 do
      if x[i, j] < 0 then p := p * x[i, j]
end;
 
const b: matrix = ((-0.4, 2.8, -12.6), (5.5, -0.5, 6.2));
var a: arr = (10.2, 8, 25);
    x: arr;
    po: double;
    i, j: integer;
begin
  writeln('Матрица B:');
  for i := 1 to 2 do
    begin
      for j := 1 to 3 do write(b[i, j]:5:1);
      writeln
    end;
  pn(b, po);
  writeln('Произведение отрицательных элементов = ', po:0:2);
  writeln('Вектор A:');
  for i := 1 to 3 do write(a[i]:6:2);
  writeln;
  writeln('Вектор X:');
  for i := 1 to 3 do
    begin
      x[i] := sqr(a[i]) / 2 / po;
      write(x[i]:19:13)
    end;
  readln
end.

12   голосов, оценка 4.250 из 5


СОХРАНИТЬ ССЫЛКУ