Найти произведение всех элементов, расположенных на побочной диагонали и выше ее матрицы размером 6х6, состоящей из элементов целого типа — Pascal(Паскаль)

program Project2;
uses
 Crt;
type vector = array[1..1000] of real;
matrix = array[1..100]of vector;
var
    a:matrix;
    i,n,m:integer;
   proiz:integer;
procedure ShowMatrix(a:matrix;n,m:integer);
var i:integer;
begin
    for i:=1 to n do
  begin
  for j:=1 to m do
    write(a[i,j],' ');
    writeln;
 end;
 writeln;
end;
procedure InitArray(var a:matrix;n,m:integer);
var i,j:integer;
begin
for i:=1 to n do
  begin
  for j:=1 to m do
    a[i,j] := random(100);
 end;
end;
function ProizvedenieNadPobDiag(a:matrix;n:integer):integer;
var 
 i,j:integer;
 pro:integer;
begin
 pro := 1;
  for i:=1 to n do
  begin
  for j:=1 to n do
    if ((i + j)<=n+1) then
      pro := pro*a[i,j];
  end;
  ProizvedenieNadPobDiag := pro;
end; 
 
begin
clrscr;
writeln('Vvedite razmer matritsi');
 write('n=');readln(n);
 write('m=');readln(m);
 InitMatrix(a,n,m);
 ShowMatrix(a,n,m);
 proiz:=ProizvedenieNadPobDiag(a,n);
writeln('Proizvedenie elementov nad pobocinoi diagonaliu matritsi S= ',proiz);
  readln;
end.

Leave a Comment

2 + 5 =