function SrAr(var x:TArray; row,col:Byte): real;
var sum: real; i, j:byte;
begin
sum := 0;
for j := 1 to col do
for i := 1 to row do
sum := sum + x[i, j];
SrAr := sum/(i*j);
end;
function pr(var x:TArray; row,col:Byte): real;
var pr: real; i, j:byte;
begin
pr := 1;
for j := 1 to col do
for i := 1 to row do
pr := pr * x[i, j];
end;
program lab5;
uses crt;
type TArray = array [1..10, 1..10] of real;
var A,B: TArray;
n,m,k,l: Byte;
h: Char;
Ar, f:real;
procedure InMatr1(var x: TArray; row, col: Byte);
var d, i, j: Byte;
S, y: String;
begin
for i := 1 to row do begin
y := '';
d := WhereY;
gotoXY(5, d);
for j := 1 to col do
begin
readln(x[i, j]);
str(x[i, j]:5:2, s);
y := y + s;
GotoXY(Length(y) + 5, d);
end;
writeln;
end;
end;
procedure Proiz(x: TArray; row, col: Byte);
var num: real; i, j: byte;
begin
writeln('----------------------------------------------');
for j := 1 to col do
if x[j, j] <> 0 then
begin
num := 1;
for i := 1 to row do
num := num * x[i, j];
write(num:5:0);
end;
end;
procedure SrAr(x: TArray; row, col: byte);
var num: real; i, j: byte;
begin
num := 0;
for i := 1 to row do
for j := 1 to col do
num := num + x[i, j];
write(num/(i*j):5:0);
end;
BEGIN
clrscr;
writeln('Number row and col matrix A < 10');
readln(n);
writeln('**********____________Matrix A__________**********');
InMatr1 (A, n, n);
proiz(A, n, n);
writeln;
SrAr(A, n, n);
writeln;
writeln('Number row and col matrix B < 10');
readln(k);
writeln('**********____________Matrix B__________**********');
InMatr1 (B, k, k);
proiz(B, k, k);
writeln;
SrAr(B, k, k);
Readkey;
end.
могло быть и лучше
write(num/(i*j):5:0);
Сформировать 2 квадратные матрицы {aij}n,m, {bij}k,l, где i<=(n,k), j<=(m,l) вводом элементов с клавиатуры. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1