Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > "Улитка". Задача на Паскале


Автор: Мел 9.3.2006, 22:53
Помогите, пожалуйста,. разобраться, что я там намудрила. В условии задачи сказано:
"Матрицу M(m,n) заполнить натуральными числами от 1 до m·n по спирали, начинающейся в левом верхнем углу и закрученной по часовой стрелке"
Получается сделать для квадратной матрицы, а при переводе в прямоугольной числа выводятся не по порядку smile
Код

program number6;
Uses CRT;
Const
n = 10;
Type
matrix = array[0..n,0..n] of integer;
Var
i,j,k,z : integer;
A : matrix;
Begin
Clrscr;
k:=1; z:=0;
While z<n do
begin
For i:=z+1 to n-z do
begin
A[z+1,i]:=k;
k:=k+1;
end;
k:=k-1;
For j:=z+1 to n-z do
begin
A[j,n-z]:=k;
k:=k+1;
end;
k:=k-1;
For i:=n-z downto z+1 do
begin
A[n-z,i]:=k;
k:=k+1;
end;
k:=k-1;
{ z:=z+1;}
For j:=n-z downto z+2 do
begin
A[j,z+1]:=k;
k:=k+1;
end;
z:=z+1;
end;

For i:=1 to n do
begin
For j:=1 to n do
begin
Write(A[i,j],' ');
end;
writeln;
end;
Readln;
End.

Автор: Zero 11.3.2006, 23:07
http://forum.vingrad.ru/index.php?showtopic=83266&view=findpost&p=641741

Автор: Мел 14.3.2006, 19:15
ой, спасибо! smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)