Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- class Kandydat
- {
- friend class Lista;
- string imie;
- string nazwisko;
- unsigned id;
- unsigned liczba_glosow;
- public:
- Kandydat(string, string, unsigned);
- void dodaj_glosy(unsigned);
- void wypisz_dane();
- };
- Kandydat::Kandydat(string name, string scndname, unsigned ident) : imie(name), nazwisko(scndname), id(ident), liczba_glosow(0) {}
- void Kandydat::dodaj_glosy(unsigned ile)
- {
- liczba_glosow += ile;
- }
- void Kandydat::wypisz_dane()
- {
- cout << id << ' ' << imie << ' ' << nazwisko << "\t\tliczba glosow: " << liczba_glosow << endl;
- }
- class Lista
- {
- friend class Okreg;
- string nazwa_komitetu;
- vector<Kandydat*> lista;
- unsigned liczba_glosow;
- unsigned liczba_kandydatow;
- public:
- Lista(string);
- ~Lista();
- void dodaj_kandydata(string, string);
- bool dodaj_glosy(unsigned, unsigned);
- void sortuj_kandydatow();
- void wypisz_liste();
- };
- Lista::Lista(string nazwa) : nazwa_komitetu(nazwa), liczba_glosow(0), liczba_kandydatow(0) {}
- {
- lista.resize(0);
- }
- Lista::~Lista()
- {
- for(unsigned i = 0; i < liczba_kandydatow; ++i)
- delete lista[i];
- cout << "Usunieto liste" << endl;
- }
- void Lista::dodaj_kandydata(string imie, string nazwisko)
- {
- lista.push_back(nullptr);
- lista[liczba_kandydatow] = new Kandydat(imie, nazwisko, liczba_kandydatow);
- ++liczba_kandydatow;
- }
- bool Lista::dodaj_glosy(unsigned ile, unsigned nr)
- {
- for(unsigned i = 0; i < liczba_kandydatow; ++i)
- {
- if(lista[i]->id == nr)
- {
- lista[i]->dodaj_glosy(ile);
- liczba_glosow += ile;
- return true;
- }
- }
- return false;
- }
- void Lista::sortuj_kandydatow()
- {
- for(unsigned i = 0; i < liczba_kandydatow; ++i)
- for(unsigned j = 0; j < liczba_kandydatow - i - j; ++j)
- if(lista[j]->liczba_glosow < lista[j + 1]->liczba_glosow)
- swap(lista[j], lista[j + 1]);
- }
- void Lista::wypisz_liste()
- {
- for(unsigned i = 0; i < liczba_kandydatow; ++i)
- lista[i]->wypisz_dane()
- }
- class Okreg
- {
- unsigned nr_okregu;
- vector<Lista*> listy;
- unsigned ile_list;
- public:
- Okreg(unsigned);
- ~Okreg();
- bool dodaj_glosy(unsigned, unsigned, unsigned);
- void zarejestruj_liste(Lista*);
- void wypisz_listy();
- void sortuj();
- };
- Okreg::Okreg(unsigned numer) : nr_okregu(numer), ile_list(0)
- {
- listy.resize(0);
- }
- Okreg::~Okreg()
- {
- for(unsigned i = 0; i < ile_list; ++i)
- delete listy[i];
- cout << "Destruktor zakonczyl prace" << endl;
- }
- bool Okreg::dodaj_glosy(unsigned lista, unsigned numer, unsigned liczba_glosow)
- {
- }
- void Okreg::wypisz_listy()
- {
- for(unsigned i = 0; i < ile_list; ++i)
- listy[i]->wypisz_liste();
- }
- void Okreg::sortuj()
- {
- }
- int main()
- {
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement