// array_arrange.cpp : 定义控制台应用程序的入口点。 // // 输入N(如3) // 输出如下: /* 1 3 6 2 5 8 4 7 9 */ #include "stdafx.h" #include #include using namespace std; void function(int n) { int **p=new int*[n]; for (int i=0; i != n; i++) p[i]=new int [n]; p[0][0]=1 ; int temp=1; for (int i=1; i != n; i++) { p[i][0]=p[i-1][0]+temp; temp++; } temp=n; for (int i=1; i != n; i++) { p[n-1][i]=p[n-1][i-1]+temp; temp--; } int jj=0; for (int i=0; i != n; i++) { int k=i; while (k != 0) { p[k-1][jj+1]=p[k][jj]+1; k--; jj++; } jj=0; } int tt=n-1; for (int j=1; j != n-1; j++) { int k=j; while (k != n-1)//-----------(k!=n)导致了数组的越界…… { p[tt-1][k+1]=p[tt][k]+1; tt--; k++; } tt=n-1; } for (int i=0; i != n; i++) { for (int j=0; j != n; j++) cout << setw(4) << p[i][j]; cout << '/n'; } for (int k = n; k != 0; --k) delete []p[k-1]; delete []p; } int _tmain(int argc, _TCHAR* argv[]) { int input=0; cout << "input the number:"; cin >> input; function(input); system("PAUSE"); return 0; }
输出一个有趣的矩阵
最新推荐文章于 2023-05-15 15:13:28 发布