c++ 使用new动态的创建指定大小的二维数组
动态的创建一个由用户输入的N*N大小的数组:
// test.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostream" #include "utility.h" using namespace std; int age=18; int _tmain(int argc, _TCHAR* argv[]) { int a=5; //printf("%d",a); cout<<"please input dim N"<<endl; int N=0; cin>>N; printf(" "); int** arr=new int*[N]; for (int i=0;i<N;i++) { // arr[i]=new int[N]; } int count=0; for (int i=0;i<N;i++) { for (int j=0;j<N;j++) { arr[i][j]=count; count++; } } for (int i=0;i<N;i++) { for (int j=0;j<N;j++) { printf("%4d",arr[i][j]); } printf(" "); } system("pause"); delete [] arr; return 0; }
动态的生成一个N*M维数的数组:
// test.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostream" #include "utility.h" using namespace std; int age=18; int _tmain(int argc, _TCHAR* argv[]) { int a=5; //printf("%d",a); cout<<"please input dim 1 N, dim 2 M"<<endl; int N=0; int M=0; cin>>N>>M; printf(" "); int** arr=new int*[N]; for (int i=0;i<N;i++) { // arr[i]=new int[M]; } int count=0; for (int i=0;i<N;i++) { for (int j=0;j<M;j++) { arr[i][j]=count; count++; } } for (int i=0;i<N;i++) { for (int j=0;j<M;j++) { printf("%4d",arr[i][j]); } printf(" "); } system("pause"); delete [] arr; return 0; }