读取用空格分隔的输入数字并保存到数组中
Read input numbers separated by space and save into an array
我必须写一个程序,从键盘上读取一行数字并将其保存到数组中,数字必须只写在一行中,我写了这个,但由于无限循环而无法工作,有什么建议吗?
int main() {
int numCasos = 0, contNumCasos = 0, numElem = 0;
string aux;
cout << "Number of cases: " << endl;
cin >> numCasos;
while (contNumCasos < numCasos) {
cout << "Number of elements: " << endl;
cin >> numElem;
cout << "Enter the Elements separated by space: " << endl;
cin.ignore();
vector.cont = 0;
int i = 0;
while ((vector.cont < numElem) && getline(cin,aux,' ')){
vector.v[i] = stoi(aux);
vector.cont++;
i++;
}
}
cout << sumaBuenos(vector) << endl;
cin.ignore();
system("pause");
return 0;
}
示例:
控制台:元素数量:
用户:4
控制台:输入用空格分隔的元素:
用户:2 43 65 56
--这必须是向量
--vector.v[0]=2
--vector.v[1]=43
--vector.v[2]=65
--vector.v[3]=56
如果你知道你要读多少个数字,有一种更简单的方法:
int n;
cin>>n; // how many numbers;
vector<int> v(n);
for ( int i=0; i<n; ++i ){
cin>>v[i];
}
经过修改,它就可以工作了。
int main() {
int numCasos = 0, contNumCasos = 0, numElem = 0;
string aux;
cout << "Numero de casos: " << endl;
cin >> numCasos;
while (contNumCasos < numCasos) {
cout << "Numero de elementos: " << endl;
cin >> numElem;
cout << "Ingrese los elementos separados por espacios: " << endl;
cin.ignore();
vector.cont = 0;
getline(cin, aux);
istringstream iss(aux);
for (int i = 0;i < numElem;i++) {
iss >> aux;
vector.v[i] = stoi(aux);
vector.cont++;
}
cout << sumaBuenos(vector) << endl;
contNumCasos++;
}
system("pause");
return 0;
}
给有同样问题的人。
#include<iostream>
using namespace std;
int main()
{
int n;
cout << "input numbers" << endl;
cin >> n;
vector<int> v(n);
for ( int i=0; i<n; ++i )
{
cin >>v[i];
}
return 0;
}
相关文章:
- 保存/加载大量短数组到二进制文件
- 如何在数组和向量 c++ 中存储和保存输入
- 2D 数组,某些单元格保存特定数据
- 如何在c++中将字符串中的所有数字保存到多维数组中
- 将值更改为 c++ 的数组并保存文件
- 数组不保存初始化值
- 按顺序遍历 AVL 树,将值保存在数组中
- 将 QImage 保存到字节数组
- 将特征数组行保存在变量中
- 将 JPG 编码数组从 ROS sensor_msgs/压缩图像保存到 roscpp 中的文件
- C++ 如何动态保存大量数组?
- 在 tensorflow c++ api 中,如何从张量中保存图片或数组
- 获取C++中的多个输入文件并将其保存在数组中
- 生成唯一的随机字符并将其保存在数组中
- 如何创建一个动态数组,该数组可以保存从C++中派生的同一基类的所有不同对象
- 如何在C++中保存动态数组中的值
- 如何将外部文件中的数据保存到 2D 数组中?(C++)
- GoogleMock SaveArg 用于保存数组?编译器抛出错误,我还没有看到一个好的解决方案
- 保存数组地址的指针的地址是相同的
- 在armadillo中保存数组(立方体)以便稍后在R中加载的最佳格式