prosty, dziwny błąd

0

Stworzyłem coś takiego:

 #include <cstdlib>
#include <iostream>



using namespace std;

int main()
{
    int n;
    
    
    for(int i=1;i<100;i++)
    {
      n=i;
      int wynik_p=0;
    
       
        while(n) 
          {
            if(n%10%2==0)
             wynik_p+=n%10;
             
             n/=10;
          }
          
          
          if(i%wynik_p==0 && wynik_p ==0); // && wynik_p ==0 po usunięciu tego wszystko działa
       {
       cout<<wynik_p<<" ";
       cout<<i<<". "<<endl;
       }
    }
  


    system("PAUSE");
    return EXIT_SUCCESS;
}

Ale nie wiem dlaczego wyskakuje błąd:(

0

W pierwszym obiegu pętli będziesz mieć dzielenie
1%0
w instrukcji warunkowej.

0

Dalej nie działa :( błąd- po prostu mi się wyłącza program (błąd Windowsa )

0

Chodzi o to, że w pierwszym obiegu pętli program będzie dzielił przez zero (bo wynik_p będzie równy zero).
Podaj jaki to jest błąd, coś się musi wyświetlić, jeżeli okno konsoli zamyka się od razu, to uruchom program z wiersza poleceń.
Tak w ogóle to co ten program ma robić?

0

Wielkie dzięki, działa:) Program ma za zadanie wypisać liczby z zakresu 1-1000 które są podzielne przez swoją sumę cyfr parzystych

0

Możesz zamienić:
if(n%10%2==0)
na:
if(n%2==0)
lub na:
if(!(n&1))

1 użytkowników online, w tym zalogowanych: 0, gości: 1