Задача с матрицей.

  • Автор темы Azzzzza
  • Дата начала
A

Azzzzza

Гость
#1
Матрицу М(m, n) заполнить натуральными числами от 1 до m*n по спирали, начинающейся в левом верхнем углу и закрученной почасовой стрелке
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
Вот моя программа, но она не работает, как надо, не могу исправить
C++:
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
main()
{
int n,m;
int i,imax,imin,j,jmax,jmin,k;
cin>> m;
cin >> n;
int**a;
a=new int*[m];
for(i=0; i<m; i++)
a[i]=new int[n];	 
jmin=1;
jmax=n;
imin=2;
imax=m;
k=0;
for(j=jmin; j<jmax; j++)
{
k++;
a[imin-1][j]=k;
}
for(i=imin; i<imax; i++)
{
k++;
a[i][jmax]=k;
}
imax--;
for(i=imax; i>imin; i--)
{
k++;
a[i][jmin]=k;
}
imin++;
jmin++;
while(k>=m*n)
for(i=1; i<m; i++)
{
cout<<endl;
for(j=1; j<n; j++)
cout<<a[i][j]<<"";
}
getch();
}
 
I

ierofant

Гость
#4
Начнём с того, что в теги кода я его загнал, вместо тебя... Но выравнивание ты уж сам сделай...