Skocz do zawartości

Prosty Programik,


PeterJack

Rekomendowane odpowiedzi

Mam taki prosty kodzik w c++ mający wypisywać liczby pierwsze:

#include <iostream>

using namespace std;


int main()
{
cout << "Liczby pierwsze: " << endl;

int i, k;
int row;
int ile;

for(i = 0; i < 10; i++)
{

for(k = 0; k <= i; k++)
{
row = i % k;
if(row == 0)
{
ile++;
}
}
if(ile == 2)
{
cout << i << endl;
}
ile = 0;
}


}

I wywala:

[peter@localhost 2]$ ./liczbypierwsze

Liczby pierwsze:

Błąd w obliczeniach zmiennoprzecinkowych

[peter@localhost 2]$

 

Co tu nakaszaniłem że wywala taki błąd blink.gif

Bardzo bym prosił o pomoc ...

Odnośnik do komentarza
Udostępnij na innych stronach

Ja to bym troche inaczej zrobił smile.gif

 

#include <iostream>
#include <math.h>

using namespace std;

bool pierwsza(int k)
{
int dzielnik;
dzielnik=2;
 while (  ((k % dzielnik) != 0) && ((dzielnik <= sqrt(k))) )
   dzielnik++;

 if (dzielnik>sqrt(k))
   return true;
   return false;
}

int main(int argc, char* argv[])
{
bool hm;
cout<<"Przedzial  <1;200> \n";

for(int w=1;w<200;w++)
  {
  hm=false;
  hm=pierwsza(w);
  if(hm)  cout << w << " ";
  }
cout << endl;
  return 0;
}

 

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...