XiaoHui.Net 笑汇程序员论坛C/C++ 讨论区

   如何在C++中创建动态二维组


页: [1]

龙主人2006-12-27 14:53
如何在C++中创建动态二维组

请各位大侠给指点一下,如何在C++中创建动态二维组.谢啦!


龙主人2006-12-27 15:57
//以下这个程序连接时出错,请大家给修改一下
#include<iostream>
using namespace std;
int main()
{
  int i,j,r,l,m,n,row,column,s=0,k=-1,t=-1;
   cout<<"please input the column:";
   cin>>m;
    int q=n=m;     //二维数组的行数
        r=m;       //二维数组的列数
     
    //分配一个指针数组,其首地址保存在a中
    int **a =new int*[n];

    //为指针数组的每个元素分配一个数组
    for ( i = 0; i < q; i++)
        a[i] = new int[q];

   
     for(i=0;i<m;i++)
     {n=n-1;
      t++;
      k++;
      r=r-1;
      for(j=k;j<=r;j++)
      a[i][j]=++s;
      for(row=i+1;row<=n;row++)
          a[row][j-1]=++s;
      for(column=j-2;column>=t;column--)
          a[row-1][column]=++s;
      for(l=n-1;l>i;l--)
        a[l][t]=++s;
      }
for(i=0;i<m;i++)
    for(j=0;j<m;j++)
    cout<<a[i][j]<<endl;
        return 0;
//以上是分配,以下是释放
    for ( i = 0; i <q; i++)
        delete [q] a[i];
    delete [q] a;
}


查看完整版本: 如何在C++中创建动态二维组