【发布时间】:2022-06-23 01:10:54
【问题描述】:
#include <bits/stdc++.h>
using namespace std;
string ltrim(const string &);
string rtrim(const string &);
/*
* Complete the 'maximumDraws' function below.
*
* The function is expected to return an INTEGER.
* The function accepts INTEGER n as parameter.
*/
int maximumDraws(int n) {
int t;
cin >> t;
int rez;
for (int i = 0; i < t; i++) {
cin >> n;
}
for (int i = 0; i < t; i++) {
cout << n++ << endl;
}
return 0;
}
int main()
{
ofstream fout(getenv("OUTPUT_PATH"));
string t_temp;
getline(cin, t_temp);
int t = stoi(ltrim(rtrim(t_temp)));
for (int t_itr = 0; t_itr < t; t_itr++) {
string n_temp;
getline(cin, n_temp);
int n = stoi(ltrim(rtrim(n_temp)));
int result = maximumDraws(n);
fout << result << "\n";
}
fout.close();
return 0;
}
string ltrim(const string &str) {
string s(str);
s.erase(
s.begin(),
find_if(s.begin(), s.end(), not1(ptr_fun<int, int>(isspace)))
);
return s;
}
string rtrim(const string &str) {
string s(str);
s.erase(
find_if(s.rbegin(), s.rend(), not1(ptr_fun<int, int>(isspace))).base(),
s.end()
);
return s;
}
错误是:中止调用:在抛出 'std::invalid_argument' 的实例后调用终止...我尝试解决此问题,我尝试过 我一直在尝试解决这个问题 3 天,但每次使用任何解决方法时都会出现此错误。我在其他地方问过,但没有得到相关答复。请问我需要帮助,我该如何解决?
Hackerrank 链接:https://www.hackerrank.com/challenges/maximum-draws/problem?isFullScreen=true
【问题讨论】:
-
用调试器在你的机器上运行你的代码,看看哪里抛出了异常。如果您没有检查代码是否有效,那么向hackerrank 提交任何解决方案都是没有意义的。
-
你为什么在
maximumDraws中执行用户输入?这似乎……很奇怪。但是话又说回来,我不确定它实际上应该做什么。现在看起来它做了一堆没有效果的输入,然后是一堆输出,然后无条件返回0。 -
类似std::stoi 的函数抛出“std::invalid_argument if no conversion can be executed”。检查你传递给它的参数。
标签: c++ arrays xcode algorithm web