Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #include <cmath>
- using namespace std;
- /*
- A16. Napisać funkcję
- int r(int* t, int n)
- która zwraca liczbę różnych liczb pierwszych występujących w tablicy t o rozmiarze
- n.*/
- int r(int* t, int n)
- {
- int temp[n] = {0};
- bool flaga;
- int licznik = 0; // zlicza RÓŻNE liczby pierwsze
- for(int i = 0; i < n; ++i)
- {
- flaga = true;
- // sprawdzanie czy liczba jest liczbą pierwszą:
- for(int j = 2; j < pow(n,0.5); ++j)
- if(t[i] % j == 0)
- {
- flaga = false;
- break;
- }
- if(flaga) // mamy liczbę pierwszą
- {
- // sprawdzamy czy dana liczba już wystąpiła w tablicy temp
- flaga = false; // domyślnie zakładamy, że liczba t[i] nie wystąpiła w temp
- for(int j = 0; j < licznik; ++j)
- if(t[i] == temp[j])
- {
- flaga = true; // liczba już wcześniej wystąpiła
- break;
- }
- if(!flaga) // jeżeli do tej pory taka liczba nie wystąpiła
- {
- temp[licznik] = t[i]; // dopisujemy ją do tablicy temp
- ++licznik;
- }
- }
- }
- return licznik;
- }
- int main()
- {
- srand(static_cast<unsigned>(time(nullptr)));
- int tablica[30];
- for(int i = 0; i < 30; ++i)
- {
- tablica[i] = rand();
- cout << tablica[i] << " ";
- }
- cout << endl;
- cout << r(tablica, 30);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement