Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib> // rand, srand
- #include <ctime> // time
- using namespace std;
- unsigned short a, b, n;
- void totalizator()
- {
- cout << "Wpisz ile liczb ma byc losowanych: ";
- cin >> n;
- cout << "Podaj przedzial losowanych liczb (od do): ";
- cin >> a >> b;
- if(a > b)
- swap(a, b); // zamiana wartości zmiennych
- while((b - a) < n)
- {
- cout << "Przedzial od " << a << " do " << b << " jest zbyt waski, podaj nowy przedzial: ";
- cin >> a >> b;
- if(a > b)
- swap(a, b);
- }
- }
- bool czy_juz_jest(unsigned short* tablica, unsigned short liczba, unsigned short ile)
- {
- for(unsigned short i = 0; i < ile; ++i)
- if(liczba == tablica[i])
- return true;
- return false;
- }
- void sortuj_tablice(unsigned short* tablica)
- {
- for(unsigned short i = 0; i < n; ++i)
- for(unsigned short j = 0; j < n - i - 1; ++j)
- if(tablica[j] > tablica[j + 1])
- swap(tablica[j], tablica[j + 1]);
- }
- void wypisz_tablice(unsigned short* tablica)
- {
- for(unsigned short i = 0; i < n; ++i)
- cout << tablica[i] << '\t';
- cout << endl;
- }
- void wylosuj(unsigned short* tablica)
- {
- srand(time(nullptr));
- unsigned short losowana;
- for(unsigned short i = 0; i < n; ++i)
- {
- do
- {
- losowana = a + rand() % (b - a + 1);
- } while(czy_juz_jest(tablica, losowana, i));
- tablica[i] = losowana;
- }
- sortuj_tablice(tablica);
- }
- void wypelnij_tablice(unsigned short* tablica)
- {
- unsigned short liczba;
- for(unsigned short i = 0; i < n; ++i)
- {
- cout << "Podaj liczbe: ";
- cin >> liczba;
- while(liczba < a || liczba > b || czy_juz_jest(tablica, liczba, i))
- {
- if(liczba < a || liczba > b)
- {
- cout << "Podana przez Ciebie liczba nie miesci sie w przyjetym przedziale. Podaj liczbe z przedzialu od "
- << a << " do " << b << ": ";
- cin >> liczba;
- }
- else if(czy_juz_jest(tablica, liczba, i))
- {
- cout << "Podana przez Ciebie liczba juz zostala podana wczesniej. Podaj inna liczbe: ";
- cin >> liczba;
- }
- }
- tablica[i] = liczba;
- }
- sortuj_tablice(tablica);
- }
- bool wygrana(unsigned short* tablica, unsigned short* tablica2, unsigned short& ile)
- {
- ile = 0;
- for(unsigned short i = 0; i < n; ++i)
- if(czy_juz_jest(tablica, tablica2[i], n))
- ++ile;
- if(ile > 0)
- return true;
- return false;
- }
- int main()
- {
- totalizator();
- unsigned short tablica_losowana[n], tablica_uzytkownika[n];
- wypelnij_tablice(tablica_uzytkownika);
- wylosuj(tablica_losowana);
- cout << "\nLiczby wylosowane:\t";
- wypisz_tablice(tablica_losowana);
- cout << "Liczby uzytkownika:\t";
- wypisz_tablice(tablica_uzytkownika);
- unsigned short ile_trafionych;
- if(wygrana(tablica_losowana, tablica_uzytkownika, ile_trafionych))
- cout << "Udalo Ci sie trafic " << ile_trafionych << " liczbe na " << n << " mozliwych\n";
- else
- cout << "Niestety nie udalo sie nic trafic :(\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement