Prośba o wskazanie błędu w kodzie

0

Witam, czy jest ktoś w stanie skazac mi błąd w kodzie? Z gory dziekuje ;)

#include <iostream>

using namespace std;

int czy_pierwsza(int x);

int main()
{
    int liczba_testow;
    int liczba;

    cin>>liczba_testow;

    for(liczba_testow)
    {
        cin>>liczba;

        if(czy_pierwsza(liczba)=true) cout<<"TAK";

        else  cout<<"NIE";
    }

    return 0;
}


int czy_pierwsza(int x)
{
    int n=0;
    int reszta;

    if(x<2)
        return false;


    else if(x>=2)
    {
        for(int i=2; i<=x; i++)
        {
        reszta=x%i;


        if(reszta==0)
            n++;
        }

        if(n!=1)
        return false;

        else
        return true;
    }
}
0

Mógłbyś jakoś ten kod sformatować.
Tak m.in.:

for(liczba_testow)

Takiego zapisu tej pętli jeszczem nie widział

int czy_pierwsza(int x)

true i false raczej nie są int.

if(czy_pierwsza(liczba)=true)

Porównywanie wartości robi się inaczej

0

IDE pan nie masz? Albo nawet kompilatora?

for(liczba_testow) // Nie ma czegoś takiego, chodziło o for(int i = 0; i < liczba_testow; i++)?
...
if(czy_pierwsza(liczba)=true) // Powinno być == true bo nie przypisujesz a porównujesz
...
else  cout<<"NIE"; // 2 spacje (choć nie ma to raczej znaczenia)

To chyba wszystkie.
Na przyszłość - unikaj 1 linijkowców i if-else bez { }

0

i<=x
+
reszta=x%i;

Jeśli i=x to nie ma byka żeby x%i nie wyszło 0 ;]

0

Nieco poprawiona wersja tego kodu. Do porównania:

#include <iostream>
 
using namespace std;
 
bool czy_pierwsza(int x) {
    int n=0;
   
    if(x<2) {
      return false;
    }
     
    else  {
        for(int i=2; i<x; ++i)  {
          if(x%i == 0) {
          n++;
        }
      }
 
        if(n!=0) {
          
        return false;
        }
        else {
        return true;
        }
    }
}
 
int main()
{
    int liczba_testow;
    int liczba;
 
    cin>>liczba_testow;
      for(int i = 0; i < liczba_testow; ++i)   {
        cin>>liczba;
        if(czy_pierwsza(liczba)) { 
          cout<<"TAK";
        }
        else  {
          cout<<"NIE";
          }
    }
 }
0
Jakub4529 napisał(a):

Witam, czy jest ktoś w stanie skazac mi błąd w kodzie? Z gory dziekuje ;)

Masz rację, każdy błąd w kodzie zasługuje na skazanie! Spróbuj na jakimś forum prawniczym bo tutaj sami programiści. :D

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