Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <utility>
- using namespace std;
- struct sportowcy
- {
- string imie;
- string nazwisko;
- unsigned short wiek;
- unsigned short wzrost;
- string dyscyplina;
- };
- void wypisz(sportowcy x)
- {
- cout << x.imie << ' ' << x.nazwisko << ", lat " << x.wiek << ", " << x.wzrost << " cm wzrostu, dyscyplina: " << x.dyscyplina << endl;
- }
- int czy_jest(string dyscyplina, vector<pair<string, int>> tab)
- {
- unsigned n = tab.size();
- for(unsigned i = 0; i < n: ++i)
- if(tab[i].first == dyscyplina)
- return i;
- return -1; // brak
- }
- void najczestsze dyscypliny(sportowcy* tablica, int n)
- {
- vector<pair<string, int>> dyscypliny;
- pair<string, int> nowa;
- unsigned nr;
- for(int i = 0; i < n; ++i)
- {
- nr = czy_jest(tablica[i].dyscyplina, dyscypliny);
- if(nr == -1)
- {
- nowa.first = tablica[i].dyscyplina;
- nowa.second = 1;
- dyscypliny.push_back(nowa);
- }
- else
- dyscypliny[nr].second++;
- }
- // sprawdzenie która dyscyplina pojawia się najczęściej
- }
- void najwyzszy(sportowcy* tablica, int n)
- {
- int wzrost = tablica[0].wzrost;
- for (int i=1; i<n; i++)
- {
- if(tablica[i].wzrost > wzrost)
- wzrost = tablica[i].wzrost;
- }
- cout << "Najwyżsi: ";
- for(int i=0; i<n; i++)
- {
- if (tablica[i].wzrost == wzrost)
- cout << tablica[i].imie << ' ' <<tablica[i].nazwisko << endl;
- }
- }
- void najstarszy(sportowcy* tablica, int n) // wypisuje najstarszego sportowca/sportowców
- {
- int wiek = tablica[0].wiek;
- for(int i = 1; i < n; ++i)
- {
- if(tablica[i].wiek > wiek)
- wiek = tablica[i].wiek;
- }
- cout << "Najstarsi:\n";
- for(int i = 0; i < n; ++i)
- {
- if(tablica[i].wiek == wiek)
- cout << '\t' << tablica[i].imie << ' ' << tablica[i].nazwisko << endl;
- }
- }
- int main()
- {
- cout << "ile sportowcow?:";
- int n;
- cin >> n;
- sportowcy tab[n];
- for(int i = 0; i < n; ++i)
- {
- cout << "Sportowiec nr " << i + 1 << '\n';
- cout << "\tPodaj imie: ";
- cin >> tab[i].imie;
- cout << "\tPodaj nazwisko: ";
- cin >> tab[i].nazwisko;
- cout <<"\twiek: ";
- cin >> tab[i].wiek;
- cout <<"\twzrost: " ;
- cin >> tab[i].wzrost;
- cout << "\tdyscyplina: ";
- cin.ignore(999999, '\n');
- getline(cin, tab[i].dyscyplina);
- }
- cout << endl
- << "wprowadzone dane: " << endl;
- cout << endl;
- for(int i = 0; i < n; ++i)
- {
- cout << "Sportowiec nr " << i + 1 << ":\n\t";
- wypisz(tab[i]);
- }
- najstarszy(tab, n);
- najwyzszy(tab, n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement