Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65225

Nie działające pętle for

$
0
0

Zbudowałem jak mi się wydawało program do określania czy podana liczba jest liczbą pierwszą. Po wpisaniu liczby wynikiem ma być komunikat 'NIE' gdy liczba nie jest pierwszą, 'TAK' gdy liczba jest liczbą pierwszą.

Generalnie liczby pierwsze są rozpoznawane poprawnie :-) Jednak w kodzie mam 2 pętle 'for' które mnie nie słuchają. Przykład: n=6 pozwala na wprowadzenie tylko 5 liczb, co więcej, jeśli pierwsza liczba jest np. 2 cyfrowa to program podaje wynik i od razu się kończy :-(.   

Gdzie jest błąd?


#include <iostream>
#include <cstdlib>


using namespace std;
int n,m=0;
int liczba;

int main()
{
    cin>>n;  // ile liczb będzie wprowadzanych
    for(int i=1; i<=n; i++)    // licznik decydujący ile liczb mozna wprowadzić
    {
        cin>>liczba;  // kolejne wprowadzane liczby

        for (int j=1; j<=liczba; j++)   // licznik decydujący ile liczb mozna wprowadzić
        {
           if (((liczba%j==0) && (j!=liczba) && (liczba!=2)&& (j!=1)) || (liczba==1))
               {
                 m++;  // NIE
               }
            
        }
        if(m>0) cout<<"NIE"<<endl;
            else
                cout<<"TAK"<<endl;
    m=0;
    }

    return 0;
}

 

 

 


Viewing all articles
Browse latest Browse all 65225

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>