如何在 for 循环中解决逐一关闭的问题
How to fix off-by-one issue in for-loop
我得到了一些变量值,我从文件中读取了这些值,然后执行了运行的总计算。我的目标是找出我总共做了多少次计算。我可以通过最后从我的计数器中减去 1 来获得正确的数字,但我想不必通过改变我的条件来更好地适应它来做到这一点。我意识到我在我的条件下没有使用计数器,这是一个问题吗?
输入示例:a=10, b=5, t=70
任何帮助将不胜感激。尝试将条件更改为总和
//Reads and calculates a, b and t, and outputs number of dishes to output.txt
while (inFile >> a)
{
inFile >> b >> t;
for (counter = 0; sum <= t ; counter++)
{
sum += a + (counter * b);
}
outFile << " " << a << "tt" << b << "tt" << t << "tt" << counter -1 << endl; //Output iteration results
//Reset total before next iteration
sum = 0;
}
像这样的东西。它使用一个 temp 变量,该变量是 sum 的下一个值,如果该值太大,则会中止循环。
for (counter = 0; ; ++counter)
{
int temp = sum + a + (counter * b);
if (temp > t)
break; // too big quit the loop
sum = temp;
}
现在,counter
和sum
在循环结束时应该具有正确的值。
相关文章:
- Project Euler问题4的错误解决方案
- 在java中解决这段代码时面临循环中的问题
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 难以理解某些人解决IOI问题的源代码
- 节俭并发:未解决的外部问题
- IpOpt拒绝解决不受约束的问题
- 如何解决这个超硬恒星的创造问题
- 循环无限运行C++解决骑士之旅问题
- 使用 bfs 解决连接组件问题时得到错误的答案
- 如何解决 Ninja c++ 构建和执行问题
- 无法在问题解决方案中执行输出逻辑
- 如何在不到O(N)的时间内解决这个问题?
- Arduino 用于语句错误。令牌之前的预期')' ';'。如何解决这个问题?
- 移动赋值运算符;尝试引用已删除的函数.我该如何解决这个问题?
- 如何在不使用额外空间的情况下解决这个问题?
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- 最大的回文产品 - 程序未运行,编写解决方案但无法理解问题
- 如何解决"no Qt platform plugin could be initialized"问题?
- 如何解决可能的唯一组合问题
- Windows上的模板有什么问题?解决方案是什么