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;
}

经验分享 程序员 微信小程序 职场和发展