Помогите, пожалуйста,. разобраться, что я там намудрила. В условии задачи сказано: "Матрицу M(m,n) заполнить натуральными числами от 1 до m·n по спирали, начинающейся в левом верхнем углу и закрученной по часовой стрелке" Получается сделать для квадратной матрицы, а при переводе в прямоугольной числа выводятся не по порядку 
| Код | 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.
|
|