" писал(а):b[k]:=a[n, n];
А смысл-то какой одно и тоже число дублировать?
" писал(а):// просотр массива
for i:=1 to n do
for j:=1 to n do
begin
b[k]:=a[n, n];
inc(k);
end;
Да и вообще лишняя операция - можно сделать на месте
" писал(а):for i:=1 to n do
for j:=1 to n do
if b=b[j] then Razn:=True;
Что-то тяжело до меня доходит зачем такая вложенность? Не проще-ли так?
Код: Выделить всё
for i:=1 to n-1 do if b[i]=b[i+1] then Razn:=True;
А лучше так
Код: Выделить всё
I := 2;
While (i<n) and (b[i]<>b[i-1]) do inc(I);
Razn := (I=n);
Вообще задача - установить различие элементов ВЫШЕ главной и побочной диагоналей. Координато этих элементов легко установить, из них исключить те, которые принадлежат главной (X=Y) и побочной (X=N-Y+1)