Помогите, пожалуйста, проверить программу для курсовика и исправить ошибки. Программа есть, но вот она не работает.... Сама задача: Вычислить количество положительных элементов квадратной матрицы, расположенных по ее периметру и на диагоналях. Program kursovaiy; Uses crt; var a:array [1..10,1..10] of integer; i, j, n, k: integer; begin write (‘n=’); readln (n); for i:=1 to n do for j:=1 to n do readln (a[i,j]); writeln (‘Была введена матрица:’); for i:=1 to n do begin for j:=1 to n do write (a[i,j,’ ‘]); writeln; end; k:=0; for i:=1 to n do begin If (a[i,i]>0) then {Элемент лежит на главной диагонали. } k:=k+1; If a[i,n-i+1]>0 then {Элемент лежит на побочной диагонали. } k:=k+1; end; for i:=2 to n-1 do begin If (a[1,i]>0) then {Элемент находится в первой строке.} k:=k+1; If (a[n,i]>0) then {Элемент находится в последней строке.} k:=k+1; If (a[i,1]>0) then {Элемент находится в первом столбце.} k:=k+1; If (a[i,n]>0) then {Элемент находится в последнем столбце.} k:=k+1; end; {Если элемент, находящийся на пересечении диагоналей, подсчитан дважды, то уменьшить вычисленное k на один.} If (n mod 2 <>0) and (a[(n div 2)+1, (n div 2)+1]>0) then k:=k-1; Write (k); End.
|
|
|
Titaniya, там проблема вот в чем: вместо write (a[i,j,’ ‘]); нужно вводить write (a[i,j], ' ');Вот!
№ 2 | Автор: Bella |
2009-12-09, 23:06
--------->
|
|
|