Само задание: Задать однотипные треугольные матрицы А и В размера 5*5 и программно показать, что А*В тоже треугольная матрица.
Можете помочь с условием с нулями(на проверку их наличия) корректно вписать в данный код ? в общем писал writeln(k, 'нулей') выводит статистическое количество(ведь здесь реализован рандом), после этого для нуля вводил переменную Zero (boolean) далее Zero := False; -> цикл -> условие -> begin -> Zero := True; -> условие -> вывод. По прежнему выводит стат число, но зато оно поменялось.
Решение:
program Cypress;
uses crt;
const n=5;
var a,b,c:array[1..n,1..n]of integer;
i,j,k: integer;
begin
clrscr;
randomize;
//2 верхнетреугольные матрицы
for i:=1 to n do
begin
for j:=1 to n do
begin
if j>=i then a[i,j]:=1+random(10)
else a[i,j]:=0;
end;
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
if j>=i then b[i,j]:=1+random(10)
else b[i,j]:=0;
end;
end;
k:=0;
for i:=2 to n do
begin
for j:=1 to i-1 do
begin
if c[i,j]=0 then inc(k);
c[i,j]:=c[i,j]+a[i,k]*b[k,j];
if k=(n*n-n)div 2 then write('Матрица верхнетреугольная');
end;
writeln;
end;
readln
end.