Другие языки программирования и технологии

Необходимо написать программу, которая проверяет, является ли введенная с клавиатуры матрица трехдиагональной.

Помогите написать программу. Дана матрица размера (10x10). Необходимо написать программу, которая проверяет, является ли введенная с клавиатуры матрица трехдиагональной.
Pascal
$ cat trid.pas
var arr: record
case integer of
 0: (a: array[0..99] of integer);
 1: (b: array[0..9,0..9] of integer)
end;
i, j, s: integer;
begin
for i := 0 to 99 do read(arr.a[i]); { ввод массива в виде строки из 100 чисел }
s := 0;
for i := 0 to 9 do for j := 0 to 9 do
 if (j > (i + 2)) or (i > (j + 2)) then
  s := s + arr.b[i, j]; { находим сумму элементов, где предполагаются нули }
writeln(s = 0)
end.

$ echo "1 1 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0
0 1 1 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 0 1 1 1 0 0 0
0 0 0 0 0 1 1 1 0 0
0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 1 1 1
0 0 0 0 0 0 0 0 1 1" | ./trid
TRUE

$ echo "1 1 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0
0 1 1 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 0 1 1 1 0 0 0
0 0 0 0 0 1 1 1 0 0
0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 0 1 1" | ./trid
FALSE
ВП
Валерий Покопцов
53 878
Лучший ответ
Валерий Покопцов Косякнул. Правильное условие выглядит так:

if (j+1 < i) or (i+1 < j) then

Похожие вопросы