在C++中的主函数中,如何定义一个数组,而这个数组的大小不确定,大小和数值由用户从键盘输入?

如题所述

先声明一个数组指针 然后根据需要动态分配存储空间
比如
int *a;
int n;
cin>>n; //输入数组长度
a=new int(n); //动态分配存储空间
//下面就可以对数组a[] 进行赋值等操作了
...
//最后别忘了用delete释放存储空间
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-20
准确的说,是先用户输入 任意的数 temp
然后编译器以temp为数组大小定义数组
然后再通过循环对数组的每个成员赋值
顺序一定要搞对,数组大小理论上是不允许动态的,如果动态了,都是错觉
第2个回答  推荐于2018-04-18
只能动态分配了啊,别给我说你没学过。
dobule arr[];
int length;
cin>>length;
arr = new double[length];
for(int i = 0; i < length; ++i)
cin>>arr[i];
for(int i = 0; i < length; ++i)
cout<<arr[i];
delete[] arr;本回答被提问者和网友采纳
第3个回答  2011-06-20
呵呵
int r; //行数

int c; //列数

cout<<"Please input the number of rows of the dynamic array: ";

cin>>r; //输入行数

cout<<"Please input the number of columns of the dynamic array: ";

cin>>c; //输入列数

//创建二维动态数组

int **p=new int*[r];

for(int i=0;i<r;i++)

{

p[i]=new int[r];

}

cout<<"The array named p["<<r<<"]["<<c<<"] is created."<<endl;
第4个回答  2011-06-20
//说明: vector是c++标准模板库的内容,可以include后直接用,自动动态分配大小,详细可以直接百度"c++ reference vector"

#include <vector>
int main() {
std::vector arr(100) ;
} ;

在C++中的主函数中,如何定义一个数组,而这个数组的大小不确定,大小和...
先声明一个数组指针 然后根据需要动态分配存储空间 比如 int *a;int n;cin>>n; \/\/输入数组长度 a=new int(n); \/\/动态分配存储空间 \/\/下面就可以对数组a[] 进行赋值等操作了 ...\/\/最后别忘了用delete释放存储空间

c++里怎么定义一个不知道大小的数组
这个数组可能很大很大,所以不要说写个绝对大的数,但是这个数组的大小可以由前面的一个需要从键盘输入值的变量决定,如:intten,s,i;cout<<"输入一个十进制数:\\n";cin>>ten;s=log(te...这个数组可能很大很大,所以不要说写个绝对大的数,但是这个数组的大小可以由前面的一个需要从键盘输入值的变量决定,如:int...

在C++中如何在不知道一个数组具体大小的情况下声明一个数组?
第一种, 用宏定义。define N 20 int a[N];这个20是你自己可以改的。第二种,用动态定义 int *p = new Nsizeof(int);开辟了N个int型空间。能给分不

C++问题:如何定义一个未知大小的一维数组,数组大小由输入的值决定
现代c++程序一般用容器vector代替数组。vector<int> vec;添加值(比如1)用vec.pushback(1)

在C++中怎么实现在定义数组时不设定大小,根据文件大小来给定数组...
可以用vector vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。具体用法参照下面的例子 \/\/ resizing...

C++如何定义未知大小的数组?
如果数组的元素个数不知道的话,只能通过动态内存分配了,静态内存分配是没有办法实现的,因为静态内存分配在定义数组的时候必须指定数组的大小为一个常量或者常数,例如:int array[10];或者 const int Size=10;int array[Size]。

如何在C++中定义一个不确定长度的数组
int n, *p;p=(int *)malloc(n*sizeof(int));用输入函数输入数组长度n,然后执行上面的动态分配,是指针p指向分配的数组起始地址

在C++中,如何对一个不确定大小的数组进行赋值?
int main(){ int x,n,i=0;cout<<"将要输入的数字个数"<<endl;cin>>n;int * a = new int[n];\/\/动态分配一个有n个数据的数组 while(n){ cout<<"输入数字"<<endl;cin>>x;a[i] = x;i++;n--;} \/* 自己的操作 *\/ delete[] a;\/\/这一句是必要的,释放内存 return 0;} ...

C++怎样声明一个长度不定的数组?
include<vector> include<algorithm> include<functional> include<iterator> using namespace std;int main(){ vector<int> ivec;cout<<"input the num";int num;while(cin>>num){ ivec.push_back(num);} cout<<"the size of the array is "<<ivec.size()<<endl;sort(ivec.begin(),...

C++ 求帮助。两个问题:1怎么定义一个正整数? 2怎么定义一个未知长度的...
int *array; \/*定义一个指针变量作为数组的首元素地址,array亦即数组名,int是类型名,表示数组是整型数组*\/ cin>>a; \/\/输入你要定义的数组长度。array=new int[a]; \/\/为你的数组在内存中开辟一小段空间,并将其首地址赋值给array。也就是定义好了一个以“array”为数组名,长度为...

相似回答