2016-04-27 70 views
0

我開始學習C++近日,以爲我會測試我的項目歐拉問題的勇氣。我解決了前兩個問題,但我陷入了第三個問題。它正確地編譯沒有任何錯誤,但它一旦執行就會崩潰。我試圖刪除嵌套for循環來隔離問題,它仍然崩潰。C++程序崩潰一些未知的原因

#include<iostream> 
#include<math.h> 
int main() 
{ 
    float quot; 
    int num = 0; 
    int array[100]; 
    float next; 

    for(int i = 0; i < 100; i++) 
    { 
     for (int j = 0; j < 100; j++) 
     { 
      if((i % j) == 0) 
      { 
      quot=j/i; 
      num=num+1; 
      } 

      if (num=2) 
      { 
      array[i]=i; 
      } 
     } 
    } 

    for (int i = 0; i < 100; i++) 
    { 
    if((13195 % i) == 0) 
    { 
     std::cout << i; 
    } 
    } 
} 
+1

不能完全肯定此代碼的任何點是什麼...但你在分配給您的NUM如果'(NUM = 2)' –

+2

你看上去由0分的地方。 – JETM

+1

打破調試器的時間。 –

回答

2

if((i%j)==0)如果ij是零,你的下一行分i和j。這除以零。

+0

整除的因素。 %運算符不是爲了找到餘數嗎?所以理論上,如果i = 1且j = 1,那麼它們的餘數就是0.但是這種劃分完全合乎邏輯,不是嗎? –

+0

這個劃分是合乎邏輯的,但是如果我和j是零,他們是第一次通過循環,你除以零。 –

+0

謝謝,修復它。我知道這將是一些容易;) –