私は何をする必要がありますか:私は今すぐベクトルのベクトルを持っています。v[0]
が最初の行であるなどです。私は挑戦として各行から最初の番号を読んで、裁判官として各行から2番目の番号を読んで、コードの条件を適用したいと思います。私はstringstream
を使って、行から数字を読み出すのを読んでいます。stringstreamとgetlineを使用して各行の最初の2つの数字を読み取る
私のコードは現在何をしていますか:各行から最初の数字だけを読み取っています。したがって、最初の行の最初の数がチャレンジであり、2行目の最初の数がジャッジであり、3行目の最初の数がチャレンジです。例えば
std::vector<string> v;
string line;
int i;
double challenge;
int judge;
while (getline(cin, line)) {
if (line.empty()) {
break;
}
v.push_back(line);
}
for (i = 0; i < v.size();i++) {
cin >> v[i];
std::stringstream ss(v[i]);
ss << v[i];
ss >> challenge >> judge;
if (challenge < 1 || challenge > 5) {
cout << "bad_difficulty" << endl; //must add the condition or empty
v.erase(v.begin() + i);
}
if (judge != 5 || judge != 7) {
cout << "bad_judges" << endl; //must add the condition or empty
v.erase(v.begin() + i);
}
cout << v[i] << endl;
}
return 0;
}
:
Input:
5.1 7 5.4 3.0 9.6 2.9 2.8 2.0 5.4
-3.8 7 2.9 1.1 5.7 7.2 4.8 8.5 3.9
2.2 5 9.4 4.7 7.3 1.9 5.7 6.0 7.1
2.4 6 9.2 5.2 1.0 2.9 4.9 7.4 7.9
2.1 7 7.9 4.9 0.0 7.2 9.1 7.8 6.7 4.3
3.8 5
2.0
4.0 7 2.4 1.9 3.2 8.3 14.8 0.1 9.7
2.5 7 8.4 -8.0 5.0 6.0 8.0 1.3 3.3
1.6 -1 9.5 2.5 5.8 7.9 5.5 1.6 7.9
Output should be:
bad_difficulty
bad_difficulty
2.2 5 9.4 4.7 7.3 1.9 5.7 6.0 7.1
bad_judges
2.1 7 7.9 4.9 0.0 7.2 9.1 7.8 6.7 4.3
3.8 5
bad_judges
4.0 7 2.4 1.9 3.2 8.3 14.8 0.1 9.7
2.5 7 8.4 -8.0 5.0 6.0 8.0 1.3 3.3
bad_judges
Current Output:
bad_difficulty
bad_judges
2.2 5 9.4 4.7 7.3 1.9 5.7 6.0 7.1
bad_judges
2.1 7 7.9 4.9 0.0 7.2 9.1 7.8 6.7 4.3
bad_judges
2.0
bad_judges
2.5 7 8.4 -8.0 5.0 6.0 8.0 1.3 3.3
bad_judges
1.6 -1 9.5 2.5 5.8 7.9 5.5 1.6 7.9
どういうのですか? '裁判官!= 5 ||裁判官!= 7'は私によく見えません。 – LogicStuff
私は例を掲載しました。 2番目の番号であるジャッジ番号は5または7のいずれかでなければなりません。それ以外の場合はbad_judgesです – user3328381
現在どのような出力を得ていますか? –