Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- /*A22. Napisać funkcję
- bool b(int* t, int r)
- która zwraca true wtedy i tylko wtedy, gdy w tablicy t o rozmiarze r znajdują się
- dokładnie dwie różne wartości.*/
- bool b(int* t, int r)
- {
- int wartosc1 = t[0];
- int wartosc2;
- bool druga_wartosc = false; // sprawdza czy pojawiła się już druga wartość
- for(int i = 1; i < r; ++i)
- {
- if(t[i] != wartosc1)
- {
- // opcja 1 - druga wartosc jeszcze nie wystapila:
- if(!druga_wartosc)
- {
- druga_wartosc = true;
- wartosc2 = t[i];
- }
- // opcja 2 - druga wartosc wystapila i jest równa t[i]
- else if(t[i] == wartosc2)
- continue;
- // opcja 3 - druga wartosc wystapila i jest rozna od t[i]
- else
- return false;
- }
- }
- if(druga_wartosc)
- return true;
- return false;
- }
- int main()
- {
- srand(static_cast<unsigned>(time(nullptr)));
- int tablica[5];
- for(int i = 0; i < 5; ++i)
- {
- tablica[i] = rand() % 4;
- cout << tablica[i] << " ";
- }
- cout << endl << b(tablica, 5) << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement