Advertisement
MeehoweCK

Untitled

Feb 15th, 2021
746
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.82 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <utility>
  4.  
  5. using namespace std;
  6.  
  7. struct sportowcy
  8. {
  9.     string imie;
  10.     string nazwisko;
  11.     unsigned short wiek;
  12.     unsigned short wzrost;
  13.     string dyscyplina;
  14. };
  15.  
  16. void wypisz(sportowcy x)
  17. {
  18.     cout << x.imie << ' ' << x.nazwisko << ", lat " << x.wiek << ", " << x.wzrost << " cm wzrostu, dyscyplina: " << x.dyscyplina << endl;
  19. }
  20.  
  21. int czy_jest(string dyscyplina, vector<pair<string, int>> tab)
  22. {
  23.     unsigned n = tab.size();
  24.  
  25.     for(unsigned i = 0; i < n: ++i)
  26.         if(tab[i].first == dyscyplina)
  27.             return i;
  28.     return -1;      // brak
  29. }
  30.  
  31. void najczestsze dyscypliny(sportowcy* tablica, int n)
  32. {
  33.     vector<pair<string, int>> dyscypliny;
  34.     pair<string, int> nowa;
  35.     unsigned nr;
  36.  
  37.     for(int i = 0; i < n; ++i)
  38.     {
  39.         nr = czy_jest(tablica[i].dyscyplina, dyscypliny);
  40.         if(nr == -1)
  41.         {
  42.             nowa.first = tablica[i].dyscyplina;
  43.             nowa.second = 1;
  44.             dyscypliny.push_back(nowa);
  45.         }
  46.         else
  47.             dyscypliny[nr].second++;
  48.     }
  49.    
  50.     // sprawdzenie która dyscyplina pojawia się najczęściej
  51. }
  52.  
  53. void najwyzszy(sportowcy* tablica, int n)
  54. {
  55.     int wzrost = tablica[0].wzrost;
  56.     for (int i=1; i<n; i++)
  57.     {
  58.         if(tablica[i].wzrost > wzrost)
  59.             wzrost = tablica[i].wzrost;
  60.     }
  61.  
  62.     cout << "Najwyżsi: ";
  63.     for(int i=0; i<n; i++)
  64.     {
  65.         if (tablica[i].wzrost == wzrost)
  66.             cout << tablica[i].imie << ' ' <<tablica[i].nazwisko << endl;
  67.     }
  68. }
  69.  
  70. void najstarszy(sportowcy* tablica, int n)      // wypisuje najstarszego sportowca/sportowców
  71. {
  72.     int wiek = tablica[0].wiek;
  73.  
  74.     for(int i = 1; i < n; ++i)
  75.     {
  76.         if(tablica[i].wiek > wiek)
  77.             wiek = tablica[i].wiek;
  78.     }
  79.  
  80.     cout << "Najstarsi:\n";
  81.     for(int i = 0; i < n; ++i)
  82.     {
  83.         if(tablica[i].wiek == wiek)
  84.             cout << '\t' << tablica[i].imie << ' ' << tablica[i].nazwisko << endl;
  85.     }
  86. }
  87.  
  88. int main()
  89. {
  90.     cout << "ile sportowcow?:";
  91.     int n;
  92.     cin >> n;
  93.     sportowcy tab[n];
  94.  
  95.     for(int i = 0; i < n; ++i)
  96.     {
  97.         cout << "Sportowiec nr " << i + 1 << '\n';
  98.         cout << "\tPodaj imie: ";
  99.         cin >>  tab[i].imie;
  100.         cout << "\tPodaj nazwisko: ";
  101.         cin >> tab[i].nazwisko;
  102.         cout <<"\twiek: ";
  103.         cin >> tab[i].wiek;
  104.         cout <<"\twzrost: " ;
  105.         cin >> tab[i].wzrost;
  106.         cout << "\tdyscyplina: ";
  107.         cin.ignore(999999, '\n');
  108.         getline(cin, tab[i].dyscyplina);
  109.     }
  110.     cout << endl
  111.          << "wprowadzone dane: " << endl;
  112.     cout << endl;
  113.     for(int i = 0; i < n; ++i)
  114.     {
  115.         cout << "Sportowiec nr " << i + 1 << ":\n\t";
  116.         wypisz(tab[i]);
  117.     }
  118.  
  119.     najstarszy(tab, n);
  120.     najwyzszy(tab, n);
  121.  
  122.     return 0;
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement