动态分配数组
动态分配一维或多维数组的方法是由指针管理数组,二维以上的数组按一维数组方式来处理,步骤:
1、定义指针 p ;
2、分配数组的空间,用来存储数组的元素,空间大小暗元素个数计算
3、按一维数组方式使用这个数组(例如输入、输出等);
若是一维数组,则元素为 p[i];若是二维数组,则元素为 p[i*M+j],
其中 M 为列元素个数,以此类推。
4、释放数组空间
计算 N*N 二维数组的元素平均值
#include<iostream>
using namespace std;
double AVE(double *A,int N) // 计算 N*N 二维数组的平均值
{
int i,j,sum=0,s;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
sum=sum+*(A+i*N+j);
}
}
s=sum/(N*N);
return s;
}
int main()
{
int i,j,n;
cout<<"input a number";
cin>>n;
cout<<"n="<<n<<endl;
double *A=new double[n*n]; // 分配数组 A[n][n](new 是动态生成)
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cout<<"input the numbers";
cin>>*(A+i*n+j); // 输入数据到 A[i][j]一个二维数组
}
}
cout<<"result="<<AVE(A,n)<<endl;
delete []A; // 释放数组
return 0;
}