C++动态数组
3个回答
展开全部
我也来回答
一维动态数组分配像这样: 分配一个有N个单元的 int 类型数组
int *f=new int[N]
N值是可以通过输入的,下面是例子求平均数,不难理解
#include<iostream>
using namespace std;
void main()
{
int N;
float s=0;
cout<<"请输入数组长度:";
cin>>N;
int *f=new int[N];//动态分配数组
cout<<"请输入数组的数值:";
for(int i=0;i<N;i++)
{
cin>>f[i];
s+=f[i]; //输入数组中的数值,并把它们加起来
}
cout<<s/N<<endl; //总和除N 得平均数
}
一维动态数组分配像这样: 分配一个有N个单元的 int 类型数组
int *f=new int[N]
N值是可以通过输入的,下面是例子求平均数,不难理解
#include<iostream>
using namespace std;
void main()
{
int N;
float s=0;
cout<<"请输入数组长度:";
cin>>N;
int *f=new int[N];//动态分配数组
cout<<"请输入数组的数值:";
for(int i=0;i<N;i++)
{
cin>>f[i];
s+=f[i]; //输入数组中的数值,并把它们加起来
}
cout<<s/N<<endl; //总和除N 得平均数
}
展开全部
C++动态数组在实际编程中应用比较频繁,而且能够帮助我们轻松的实现许多功能。在这里我们竟会根据一段代码示例来详细解读其应用方式。
C++是一款功能强大,应用范围广泛的计算机编程语言,从产生至今已经历经20年时间,在开发领域中仍然占据着举足轻重的地位。我们今天在这里将会为大家介绍其中一个比较重要的知识点,就是有关C++动态数组的应用方式的介绍。
C++动态数组相关操作代码如下:
#include< iostream> #include< conio.h> #include< cstdlib> //此头文件包含函数exit(),由于C++可识别exit(),实际上该头文件可省略 using namespace std; void display(double ***); void de_lete(double ***); int x,y,z; //全局变量 void main() { cout< < "请分别输入三维数组data[x][y][z]中X,Y,Z的值:"< < endl; while(cin>>x>>y>>z&&(x< 0||y< 0||z< 0)) cout< < "输入不合法,请重新输入!"< < endl; double ***data; data=new double **[x];//建立代表组成三维数组的各二维数组名的二级指针数组 if(data==0){ cout< < "内存分配失败!程序终止。"< < endl; exit(1); } for(int j=0;j< x;++j) data[j]=new double *[y];//建立代表组成二维数组的各一维数组名的指针数组 if(data[0]==0){ cout< < "内存分配失败!程序终止。"< < endl; exit(1); } for(int j=0;j< x;++j) for(int k=0;k< y;++k) data[j][k]=new double[z];//建立所有一维数组 if(data[0][0]==0){ cout< < "内存分配失败!程序终止。"< < endl; exit(1); } for(int i=0;i< x;++i) for(int j=0;j< y;++j) for(int k=0;k< z;++k) data[j][k]=i*y*z+j*z+k; display(data); de_lete(data); getch(); } void display(double ***data)//显示各元素 { cout< < "满足要求的数组如下:"< < endl; for(int i=0;i< x;++i){ for(int j=0;j< y;++j){ for(int k=0;k< z;++k) cout< < data[j][k]< < "\t"; cout< < endl; } cout< < endl; } } void de_lete(double ***data)//释放动态分配的内存空间 { for(int i=0;i< x;++i) for(int j=0;j< y;++j) delete [] data[j]; for(int i=0;i< x;++i) delete [] data; delete [] data; } 以上就是我们对C++动态数组相关操作方法的介绍。
C++是一款功能强大,应用范围广泛的计算机编程语言,从产生至今已经历经20年时间,在开发领域中仍然占据着举足轻重的地位。我们今天在这里将会为大家介绍其中一个比较重要的知识点,就是有关C++动态数组的应用方式的介绍。
C++动态数组相关操作代码如下:
#include< iostream> #include< conio.h> #include< cstdlib> //此头文件包含函数exit(),由于C++可识别exit(),实际上该头文件可省略 using namespace std; void display(double ***); void de_lete(double ***); int x,y,z; //全局变量 void main() { cout< < "请分别输入三维数组data[x][y][z]中X,Y,Z的值:"< < endl; while(cin>>x>>y>>z&&(x< 0||y< 0||z< 0)) cout< < "输入不合法,请重新输入!"< < endl; double ***data; data=new double **[x];//建立代表组成三维数组的各二维数组名的二级指针数组 if(data==0){ cout< < "内存分配失败!程序终止。"< < endl; exit(1); } for(int j=0;j< x;++j) data[j]=new double *[y];//建立代表组成二维数组的各一维数组名的指针数组 if(data[0]==0){ cout< < "内存分配失败!程序终止。"< < endl; exit(1); } for(int j=0;j< x;++j) for(int k=0;k< y;++k) data[j][k]=new double[z];//建立所有一维数组 if(data[0][0]==0){ cout< < "内存分配失败!程序终止。"< < endl; exit(1); } for(int i=0;i< x;++i) for(int j=0;j< y;++j) for(int k=0;k< z;++k) data[j][k]=i*y*z+j*z+k; display(data); de_lete(data); getch(); } void display(double ***data)//显示各元素 { cout< < "满足要求的数组如下:"< < endl; for(int i=0;i< x;++i){ for(int j=0;j< y;++j){ for(int k=0;k< z;++k) cout< < data[j][k]< < "\t"; cout< < endl; } cout< < endl; } } void de_lete(double ***data)//释放动态分配的内存空间 { for(int i=0;i< x;++i) for(int j=0;j< y;++j) delete [] data[j]; for(int i=0;i< x;++i) delete [] data; delete [] data; } 以上就是我们对C++动态数组相关操作方法的介绍。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
动态实现需要自己申请和释放内存,内存分配new,释放内存delete
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询