c++中如何输入一个未知个数的字符串数组或者二维数组???

如题所述

使用动态数组。即一个指针指向数组首地址,一个整型变量表示数组长度。
数组所需的空间用new来申请,用完后delete追问

能把具体的程序写一下吗? 感激不尽

追答

能用STL么,能用的话直接用
vector 就可以了。
不能用的话,还是用我之前说的方法吧。先输入数组的长度,再申请内存,再依次输入数组元素。用完后delete[]

#include
#include
using namespace std;

void main()
{
string *a;
int n,i;
cin>>n;
a=new string[n];
for(i=0;i>a[i];
}
for(i=0;i<n;i++)
cout<<a[i]<<endl;
delete[] a;
}

追问

呃。。。
我的意思是不输入数组的长度,直接输入一串字符,中间以空格间隔,比如as df gh hj,最后也不输入ctrl+z,只是输入回车表示输入完成

追答

那你可以考虑一下用getchar()循环读取字符,当读到回车符时停止。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-18
用c++ 的templates:vector,list等
第2个回答  2011-11-18
使用链表

c++中如何输入一个未知个数的字符串数组或者二维数组???
使用动态数组。即一个指针指向数组首地址,一个整型变量表示数组长度。数组所需的空间用new来申请,用完后delete

c++,输入一个未知大小的数组怎么做??? 要求有回答范例。。。_百度知...
1.首先,定义一个常量大小来控制数组的大小。2.定义一个自定义函数度来输入二维数组中每个已知元素的值。3.使用双循环,输入二维数组的值,如下图所示。4.在主函数中,定义两个整数变量m和n,并保存数组的行和列。5.接下来,定义一个二维数组,如下图所示。6.输入数组的行数和列数,存储在...

c++中如何将一个未知大小的数组读入,并将其存在一个3列,行数不定的二 ...
void main(){ int *p,*q,a,i=0,j,m,n;p = new int;while(cin>>a) \/\/输入非数字结束 { q = (int *)realloc(p,(i+1)*sizeof(int));p = q ;p[i] = a;i++;} n = i; \/\/获得该一维数组大小 \/ for(i = 0;i <n;i++){ cout<<p[i]<<" ";} \/ m = ...

c++中怎么输入二维数组
1、首先,定义一个常量SIZE,控制数组大小。2、定义一个自定义函数,用来输入二维数组各元素的值。3、用一个二重循环,输入二维数组的值。4、主函数中,定义两个整型变量m和n,保存数组的行和列。5、接着,定义一个二维数组。6、输入数组的行列数,保存在变量m和n中。7、然后,输入二维数组,保存...

c++中怎么输入二维数组
1、首先,定义一个常量SIZE,控制数组大小。2、定义一个自定义函数,用来输入二维数组各元素的值。3、用一个二重循环,输入二维数组的值。4、主函数中,定义两个整型变量m和n,保存数组的行和列。5、接着,定义一个二维数组。6、输入数组的行列数,保存在变量m和n中。7、然后,输入二维数组,保存...

C++ 如何输入字符串数组
输入cin>>a[i]>>endl;其实只要把你定义的字符串数组看成是二维数组就可以了(a[i][j]...)

c++二维数组输入输出问题
cin >> a[i][100]; 只能输入一个字母,改为cin >> a[i];cout << a[i][100]<<endl; 这个是输出每个字符串第100个字符,而且这个for循环只能将输入字符串的顺序颠倒,及先输入后输出 最好定义的时候初始化char a[100][100] = {0};...

怎样用c++声明一个二维数组是未知大小?
c\/c++无法声明一个不定大小的二维数组,不过可以用二级指针来模拟(我想你清楚数组和指针的区别吧)\\r\\nint **A; \/\/声明二级指针A,指向一个指针数组(切记不是指向一个二维数组)\\r\\n \\r\\ncin >> M >> N; \/\/输入两个维度\\r\\nA = new int *[M]; \/\/开辟指针数组\\r\\nfor(...

c++中怎样实现二维数组的任意输入
采用堆分配,用new动态创建二维数组,维度m,n可以用scanf输入 \/\/分配 int **tmp = new int*[m]; for(int i = 0;i<m;i++) { tmp[i] = new int[n]; } \/\/释放 for(int i = 0;i<m;i++) { delete[] tmp[i]; } delete []tmp;...

c++语言输入字符串数组
C语言_040_输入字符和字符串_上

相似回答