Здравствуйте с корректировкой TurboPascal
Изначальное задание:
Задать однотипные треугольные матрицы А и В размера 5*5 и программно показать, что А*В тоже треугольная матрица.
Решение:
uses crt;
const n=5;
var a,b,c:array[1..n,1..n]of integer;
i,j,k: integer;
begin
clrscr;
randomize;
//создадим 2 верхнетреугольных матрицы
writeln('Матрица А');
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;
write(a[i,j]:4);
end;
writeln;
end;
writeln('Матрица B');
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;
write(b[i,j]:4);
end;
writeln;
end;
//получаем третью матрицу
writeln('Матрица C=A*B');
for i:=1 to n do
begin
for j:=1 to n do
begin
c[i,j]:=0;
for k:=1 to n do
c[i,j]:=c[i,j]+a[i,k]*b[k,j];
write(c[i,j]:4);
end;
writeln;
end;
readln
end.
Изменённое условие задания:
В работе надо "программным" ( а не "визуальным" )
путём определить, что матрица C - треугольная.
То есть, программа должна определить ( рассчитать ),
что C - треугольная матрица и вывести соответствующее
сообщение.
Вообщем вывод матриц я убрал и добавил это условие но что то коряво пашет:
if (i=j) or (i then writeln('Треугольная матрица С');