| 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 }