Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip> //biblioteka obsługująca setw()
- #include <cstdlib>
- #include <time.h>
- using namespace std;
- const int N=40;
- int main()
- {
- int C[N];
- int i,P,W;
- bool t;
- srand((unsigned)time(NULL));
- W=rand()%5; //aby uprościć i mieć pewność że wystąpi przywódca, można ustawić N jako liczbę nieparzystą, a liczby losować spośród dwóch(np 0 i 1)
- for(i=0; i<N; i++)
- if(rand()%2) C[i]=rand()%5;
- else C[i]=W;
- //wyszukujemy przywódcę
- P=0;
- for(i=0; i<N; i++)
- if(!P)
- {
- W=C[i];
- P=1;
- }
- else if(W==C[i]) P++;
- else P--;
- //sprawdzenie czy jest przywódca
- if(!P) t=false;
- else
- {
- P=0;
- for(i=0; i<N; i++) if(W==C[i]) P++;
- t=P>N/2; //jeśli P>N/2 zwraca true, czyli wystąpił przywódca
- }
- //wypisanie tablicy
- for(i=0; i<N; i++)
- if(t&&(C[i]==W)) cout<<" >"<<setw(2)<<C[i]; //setw() określ minimalną liczbę pól które może zająć
- else cout<<setw(4)<<C[i];
- // Wyświetlamy wyniki
- cout<<endl;
- if(t) cout<<W<<" : "<<P<<endl;
- else cout<<"BRAK LIDERA\n";
- cout<<endl;
- return 0;
- }
Add Comment
Please, Sign In to add comment