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.