Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //#####################################################################
- typedef struct element
- {
- unsigned long wartosc;
- struct element *nastepny;
- } elListy;
- void pokaz(elListy *lista);
- void dodaj(elListy *lista, unsigned long liczba);
- void dodaj(elListy **ostatni, unsigned long liczba);
- bool czyPierwsza(elListy *lista, unsigned long liczba);
- //#####################################################################
- //*********************************************************************
- int main()
- {
- //elListy *pierwsza = new elListy;
- elListy *pierwsza = 0;
- unsigned long liczba = 2;
- char znak;
- //pierwsza->wartosc = liczba;
- //pierwsza->nastepny = 0;
- dodaj(&pierwsza, liczba);
- elListy *koniec = pierwsza;
- cout << "Program szuka kolejne liczby pierwsze\n";
- do{
- cout << "\n[N]astepna\t[W]yswietl wszystkie\t[K]oniec\n";
- cin >> znak;
- switch (znak)
- {
- case 'n':
- while (++liczba)
- {
- if (czyPierwsza(pierwsza, liczba))
- {
- //dodaj(pierwsza, liczba);
- dodaj(&koniec, liczba);
- cout << "Kolejna liczba pierwsza to " << liczba << "\n";
- break;
- }
- }
- break;
- case 'w':
- pokaz(pierwsza);
- break;
- }
- } while (znak != 'k');
- system("pause");
- return 0;
- }
- //*********************************************************************
- void pokaz(elListy *lista)
- {
- int ktory = 1;
- while (lista != 0)
- {
- cout << ktory++ << "\t" << lista->wartosc << "\n";
- lista = lista->nastepny;
- }
- }
- //*********************************************************************
- void dodaj(elListy *lista, unsigned long liczba)
- {
- while (lista->nastepny != 0)
- lista = lista->nastepny;
- lista->nastepny = new elListy;
- lista->nastepny->nastepny = 0;
- lista->nastepny->wartosc = liczba;
- }
- //*********************************************************************
- void dodaj(elListy **ostatni, unsigned long liczba)
- {
- if (*ostatni == 0)
- {
- *ostatni = new elListy;
- (*ostatni)->nastepny = 0;
- (*ostatni)->wartosc = liczba;
- }
- else
- {
- (*ostatni)->nastepny = new elListy;
- *ostatni = (*ostatni)->nastepny;
- (*ostatni)->nastepny = 0;
- (*ostatni)->wartosc = liczba;
- }
- }
- //*********************************************************************
- bool czyPierwsza(elListy *lista, unsigned long liczba)
- {
- while (lista != 0 && lista->wartosc*lista->wartosc <= liczba)
- {
- if (liczba % lista->wartosc == 0)
- return false;
- lista = lista->nastepny;
- }
- return true;
- }
- //*********************************************************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement