Transcript
type Matriz= array[1..20,1..20] of real;
Procedure ValidarN (Var N : real);
begin
writeln ('Digite a Ordem da Matriz: ');
repeat
readln (n);
until n<=20;
end;
Procedure MatrizN (N :integer; Var M : matriz);
var L, C : Integer;
begin
For L:=1 to N do
For C:=1 to N do
M[L,C]:= (2*L)-(3*C);
end;
Function SomaDiagPri (N :integer; M :matriz) :real;
var L, C : integer;
S :real;
begin
s:= 0;
For L:=1 to N do
For C:=1 to N do
IF L=C THEN
begin
S:= S + m[l,c];
end;
SomaDiagPri:= S;
end;
Function SomaDiagSec (N :integer; M :matriz) :real;
var L, C : integer;
S :real;
begin
s:= 0;
For L:=1 to N do
For C:=1 to N do
IF L+C=N+1 THEN
begin
S:= S + m[l,c];
end;
SomaDiagSec:= S;
end;
Function MediaSoma (N :integer; M :matriz) :real;
var L, C : integer;
S :real;
begin
s:= 0;
For L:=1 to N do
For C:=1 to N do
begin
S:= S + m[l,c];
end;
MediaSoma:= S/sqr(n);
end;
Function SomaAcimaDiag (N :integer; M :matriz) :real;
var L, C : integer;
S :real;
begin
s:= 0;
For L:=1 to N do
For C:=1 to N do
IF LC THEN
begin
S:= S + m[l,c];
end;
SomaAbaixoDiag:= S;
end;
Procedure MatrizTransp (N :integer; M :matriz; Var T :matriz);
var L, C : Integer;
begin
For L:=1 to N do
For C:=1 to N do
T[C,L]:= M [L,C];
end;
Procedure Exibir (N :integer; M :matriz);
var L, C : Integer;
begin
For L:=1 to N do
For C:=1 to N do
writeln (M [L,c]);
end;
Var N,L,C: integer;
S: real;
m:matriz;
Begin
ValidarN (N:integer);
MatrizN (N:integer; M : matriz);