尝试获取基分数时出现运行时错误
Runtime error while trying to get base fraction
我有一个名为Fraction
的类,在该类的外部,函数baseF
来获取基分数。
void Fraction::baseF() {
int n=num,d=den,i;
if(n<d) {
for(i=0;i<n;i++)
if(n%i==0 & d%i==0) {n/=i;d/=i;}
} //end if
else {
for(i=0;i<d;i++)
if(n%i==0 & d%i==0) {n/=i;d/=i;}
} //end else
num=n;
den=d;
}
我知道代码并不高效,只是试图获得逻辑。
您有:
for(i=0;i<n;i++)
if(n%i==0 & d%i==0) {n/=i;d/=i;}
在循环的第一次迭代中,i
的值为零。当i
为零时计算n%i
是一个问题。
此外,n%i==0 & d%i==0
似乎是一个拼写错误。您可能是指n%i==0 && d%i==0
(按位与逻辑与)
您可能想要使用:
for(i=1; i<n; i++)
if(n%i==0 && d%i==0) {n/=i;d/=i;}
在两个for
循环中进行修复。
相关文章:
- 删除指向指针的指针是运行时错误吗
- c++中的指针和运行时错误
- 无法理解此 return 语句的功能,没有它就会发生运行时错误
- 在同一模拟中使用静脉和静脉_ inet内容时出现运行时错误
- 对单向链表进行排序时出现运行时错误
- 为什么此代码存在运行时错误?
- 你能解释一下什么运行时错误是如何解决它的吗?
- 为什么会出现 gettnig 运行时错误:加载类型为"_Bit_type"(stl_bvector.h) 的空指针?
- 为什么程序在 c++ 中迭代 emtpy 向量时会抛出运行时错误
- 运行时错误:引用绑定到类型为"int"的空指针
- 为什么当 vector 为空时会显示运行时错误?
- C++运行时错误与快速排序算法抛出堆栈转储错误
- 运行时错误:矢量下标超出范围:正在检查空集
- 在Hackerearth上获取运行时错误(SIGSEGV),无法找出代码中的问题
- C++ SDL 初始化所有内容并获取运行时错误
- 尝试获取基分数时出现运行时错误
- 在运行时从应用程序获取PE标头时发生运行时错误
- 使用QWebPage获取运行时错误
- 在代码厨师上获取运行时错误 (SIGSEGV),无法找出代码中的问题
- 在使用相同C++代码的跨平台窗体之间获取运行时错误