c++做螺旋数组,定义36个数。帮忙看看那里出错了。

来源:百度知道 编辑:UC知道 时间:2024/06/21 11:04:19
#include <iostream>
using namespace std;
int main()
{
int i=0,j=1,n=0,m=0,a[36],b[4][4];
for(i=0;i<36;i++)
{
a[i]=j;
j++;
}
for(i=0;i<36;i++)
{
cout<<a[i]<<endl;
}
i=j=0;

while(n!=3)
{
for(i=n,j=n;j<5-n;j++)
{
b[i][j]=a[m];
m++;
}

for(;i<5-n;i++)
{
b[i][j]=a[m];
m++;

}

for(;j>n;j--)
{
b[i][j]=a[m];
m++;

}

for(;i>n;i--)
{
b[i][j]=a[m];
m++;
}
n++;
}

没什么大错,只不过你没输出而已......
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int i=0,j=1,n=0,m=0,a[36],b[6][6];
for(i=0;i<36;i++)
{
a[i]=j;
j++;
}
i=j=0;

while(n!=3)
{
for(i=n,j=n;j<5-n;j++){
b[i][j]=a[m];
m++;
}

for(;i<5-n;i++)
{
b[i][j]=a[m];
m++;
}

for(;j>n;j--)
{
b[i][j]=a[m];
m++;

}

for(;i>n;i--)
{
b[i][j]=a[m];
m++;
}
n++;
}
for(i=0;i<6;i++)
{
for (j=0;j<6;j++)
cout<<setw(4)<<b[i][j];
cout<<endl;
}
}