【发布时间】:2020-10-18 06:07:51
【问题描述】:
用分隔符-1分隔数组大小和数组值
输入格式为:
Array-size -1 array-values(separated by ,) -1 number -1 3 -1 3,5,7 -1 6 -1不要使用向量,将值放入用户给定大小的数组中,否则打印“-1”。
我已经尝试过这段代码,但我无法完成它:
#include <iostream>
#include <string>
using namespace std;
int main(){
string s{};
getline(cin, s)
stringstream ss(s);
string count = size_t{};
string delimiter1 = string{};
string value = string{};
string delimiter2 = string{};
string size = string{};
string delimiter3 = string{};
if(!(ss >> count >> delimiter1 >> values >> delimiter2 >> size >> delimiter2))
cout << -1 << endl;
if(delimiter1 != "-1" || delimiter2 != "-1" || delimiter3 != "-1")
cout << -1 << endl;
int a[1000];
while(getline(ss, value, ',')){
a.push_back(stoi(value));
}
}
【问题讨论】:
-
为什么“不使用矢量”?将值存储在
std::vector中似乎是完美的选择。 -
您的实际问题是什么?你知道普通的 C 风格数组没有
push_back方法,不是吗? -
@Jessica 这不是一个问题,只是陈述一个要求。你的问题是什么?这是一个问答网站。我们在这里回答问题。
-
@Jessica 你能告诉我们更多吗 - 存储数组后你应该做什么(预期输出)?最后那个数字的作用是什么(在你的例子中是
6)? -
好的,你可以使用
std::unique_ptr吗?