Тема: Дано дві квадратичні матриці 3*3.
Дано дві квадратичні матриці 3*3. Надрукувати квадрат тієї з них, в якій найменший слід (сума діагональних елементів).
program p1111;
type
arr = array [1..3, 1..3] of integer;
var
i, j, Sa, Sb: integer; a, b: arr;
function sled(a: arr): integer;
var s,i: integer;
begin
for i:=1 to 3 do
s:=s+a[i,i];
sled:=s;
end;
begin
writeln('vvedite matricu A');
for i := 1 to 3 do
for j := 1 to 3 do
read(a[i, j]);
Sa := sled(a);
writeln('vvedite matricu B');
for i := 1 to 3 do
for j := 1 to 3 do
read(b[i, j]);
Sb := sled(b);
if Sa < Sb then begin
writeln('matrica A (imeet menshiy sled)');
for i := 1 to 3 do
begin
for j := 1 to 3 do
write(a[i, j], ' ');
writeln; end; end
else
begin
writeln('matrica B (imeet menshiy sled)');
for i := 1 to 3 do
begin
for j := 1 to 3 do
write(b[i, j], ' ');
writeln; end; end;
end.
Є таке щастя. Працює, але не підносить до квадрату.
Наприклад:
воджу такі матриці:
1 2 3
3 2 1
1 4 2
3 1 2
1 4 3
3 4 1
Матриця А буде мати меньший слід, але потрібно щоб матрицю в якій буде меньший слід піднесло до квадрату. Наприклад:
Матриця А:
1 4 9
9 4 1
1 16 4
Як це все зробити?