kihivas202505_ksz_DK_C++.cpp

 1  #include <iostream>     // cin és cout
 2  #include <set>          // halmaz adattípushoz
 3  #include <map>          // szótár adattípushoz
 4  
 5  using namespace std;
 6  
 7  int main()
 8  {
 9      setlocale(LC_ALL,"");
10      // megoldás SZÓTÁR (map) és HALMAZ (set) segítségével
11      string aktivitas;
12      cout << "1. feladat" << endl;
13      cout << "Adja meg az aktivitását: ";
14      cin >> aktivitas;
15      map<char, int> mozgasok;   
16      // SZÓTÁR "feltöltése":
17      mozgasok['U'] = 1;
18      mozgasok['G'] = 1;
19      mozgasok['F'] = 2;
20      mozgasok['K'] = 10;
21      int tavolsag = 0;
22      for(char kar: aktivitas)
23          tavolsag += mozgasok[kar];
24      cout << "2. feladat" << endl;
25      cout << "Az elért távolság: " << tavolsag << " km." << endl;
26      set<char> mozgas(aktivitas.begin(), aktivitas.end());// aktivitas string konvertálása karakterekből álló halmazzá
27      cout << "A héten megvalósított mozgásformák: " << endl;
28      for(auto kar: mozgas) cout << kar << " ";
29      cout << endl;
30      cout << "3. feladat" << endl;
31      if( mozgas.size() == 4)
32      {
33          tavolsag += 10;
34          cout << "Bravó! Jutalma még 10 km." << endl;
35      }
36      else
37          cout << "Nem jár jutalom." << endl;
38  
39      cout << "4. feladat" << endl;
40      cout << "Eredménye: " << tavolsag << " km. ";
41      if(tavolsag >= 40)
42          cout << "Gratulálok, kihívás teljesítve!" << endl;
43      else
44          cout << "Legközelebb sikerül!" << endl;
45  
46      return 0;
47  }