Новые сообщения · Правила  
Страница 1 из 11
Модератор форума: Berestovskiy 
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Исравить задачу на Паскале (исправить задачу)
Исравить задачу на Паскале
Помогите, пожалуйста, проверить программу для курсовика и исправить ошибки. Программа есть, но вот она не работает....
Сама задача: Вычислить количество положительных элементов квадратной матрицы, расположенных по ее периметру и на диагоналях.
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.
1 | Автор: Titaniya | 2009-11-26, 20:31   |  Репутация: [ + 1 ]
Titaniya, там проблема вот в чем:
вместо write (a[i,j,’ ‘]);
нужно вводить write (a[i,j], ' ');Вот!
2 | Автор: Bella | 2009-12-09, 23:06   --------->
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Исравить задачу на Паскале (исправить задачу)
Страница 1 из 11
Поиск: