Латинский квадрат. Латинским квадратом пордка n называется квадратная таблица размером nxn каждая строка и каждый столбец которой содержит все числа от 1 до n. Проверить является ли заданная целочисленная матрица латинским квадратом.
const nmax=100;mmax=100;
type matrix=array [1..nmax,1..mmax] of real;
var k,i,j,n,m:integer;
x:real;
a:matrix;
f:boolean;
begin
writeln('Vvedite mashtab matrix');
read (n,m);
writeln('vvedite matrix');
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
begin
for i:=1 to n do
for k:=1 to n-1 do
begin
j:=1;
repeat {упорядочивает эл-ты каждой строки матрицы по возрастанию }
if a[i,j]>a[i,j+1] then
begin
x:=a[i,j+1];
a[i,j+1]:=a[i,j];
a[i,j]:=x;
j:=j+1;
end
else
j:=j+1
until (j=n);
end;
begin
writeln ('_____MATRICA_____');
for i:=1 to n do
begin
for j:=1 to m do
write(' ', a[i,j]);
writeln;
end;
f:=false;
j:=1;
for i:=1 to n do
for j:=1 to m do
if (m=n) and (a[i,j+1]-a[i,j]=1) then {Вот тута и проблемка если следующий эл-нт меньше
предыдущего на 1 то латинский квадрат иначне нет.
Но у мя че то не получается, а мозги уже отказываются думать =) }
f:=true;
if f then
writeln ('matrica Latinskii kvadrat')
else
writeln ('matrica ne latinskii kvadrat')
end;
end;
end.
Напишите плиз что там за проверочку в конце надо поставить =)
Сообщение отредактировано: sintanial -