Условие 1 – выполнить в подпрограмме FUNCTION, условие 2 – выполнить в подпрограмме PROCEDURE. Например, для матрицы, в которой max элемент в первой строке больше – (это условие 1) просуммировать элементы в каждом столбце – (это условие 2).
Условие 1: количество нулевых элементов больше;
Условие 2: Найти сумму всех элементов, расположенных до главной диагонали.
program PascalGuru;
uses crt;
type
arr = array [1 .. 6, 1 .. 6] of integer;
vector = array [1 .. 6] of integer;
var
A, B: arr;
i, j, s: integer;
{ ---------------------------------------- }
function countNull(X: arr): integer;
var
i, j, rez: integer;
begin
rez := 0;
for i := 1 to 6 do
for j := 1 to 6 do
if X[i, j] = 0 then
inc(rez);
countNull := rez;
end;
{ ---------------------------------------- }
procedure summa(X: arr; var summa: integer);
var
i: integer;
begin
summa := 0;
for i := 1 to 6 do
summa := summa + X[i, i]
end;
{ ---------------------------------------- }
begin
for i := 1 to 6 do
for j := 1 to 6 do
A[i, j] := -8 + random(26);
for i := 1 to 6 do
for j := 1 to 6 do
B[i, j] := -8 + random(26);
write('Vot matrica A:');
for i := 1 to 6 do
begin
writeln;
for j := 1 to 6 do
write(A[i, j]:8, ' ');
end;
writeln;
writeln;
write('Vot matrica B:');
for i := 1 to 6 do
begin
writeln;
for j := 1 to 6 do
write(B[i, j]:8, ' ');
end;
writeln;
writeln;
if countNull(A) > countNull(B) then
begin
summa(A, s);
writeln('Summa gl.diag. matricy "A": ', s);
end
else
begin
summa(B, s);
writeln('Summa gl.diag. matricy "B": ', s);
end;
readln;
end.