#include<iostream>
#include <stdlib.h>
using namespace std;
int main(void){
int *p;
int row, col;
int i,j, k=1;
cout<<"Input number of row:\n";
cin>>row;
cout<<"Input number of column\n";
cin>>col;
p = new int[row*col];
if(!p){
cout<<"Not allocate memory!\n";
exit(1);
}
for(i=0;i<row;i++){
for(j=0; j<col; j++) p[ i*col+j ] = k++;//根据行列下标,计算下表值
}
for(i=0;i<row;i++){
for(j=0; j<col; j++)
cout<<p[ i*col+j ] <<'\t';//根据行列下标,计算下表值
cout<<endl;
}
delete [] p;
system("pause");
return 0;
}
该程序使用C++实现动态分配内存创建二维数组,用户输入行数和列数,然后填充并打印数组。程序首先分配内存,如果失败则显示错误信息并退出。之后,按照行列索引填充数组,并逐行打印出来。最后,释放内存。


被折叠的 条评论
为什么被折叠?



