| befozes202410_ksz_DK_C++.cpp |
|
1 #include <iostream> // cin és cout parancsok
2 #include <vector> // vector adattípus
3 #include <algorithm> // max függvény
4 #include <iterator> // distance függvény
5 #include <numeric> // accumulate függvény
6
7 using namespace std;
8
9 int main()
10 {
11 setlocale(LC_ALL, "");
12 // 1. feladat - átmásolni az adatokat ide egy megfelelő adatszerkezetbe, pl. vectorba
13 vector<int> uvegek = {5, 2, 2, 4, 3, 2, 4, 10, 5, 5, 3, 5, 4, 3, 3};
14 int lekvar; // Mari néni ennyi lekvárt akar eltenni
15
16 cout << "2. feladat" << endl;
17 cout << "Mari néni lekvárja (dl): ";
18 cin >> lekvar;
19 // --------------------------------------------------------------------------------------------
20
21 cout << "3. feladat" << endl;
22 // C++ megoldás
23 int legn_uveg = *max_element(uvegek.begin(), uvegek.end());
24 auto it = find(uvegek.begin(), uvegek.end(), legn_uveg);
25 auto sorszama = distance(uvegek.begin(), it) + 1;
26 cout << "A legnagyobb üveg: " << legn_uveg << " dl és " << sorszama << ". a sorban." << endl;
27
28 // "Klasszikus" megoldás: Programozási tétel segítségével (maximumkeresés)
29 int legn_uveg2, sorszama2;
30 legn_uveg2 = uvegek[0];
31 for(int i = 1; i < uvegek.size(); i++)
32 {
33 if(uvegek[i] > legn_uveg2)
34 {
35 legn_uveg2 = uvegek[i];
36 sorszama2 = i + 1;
37 }
38 }
39 cout << "A legnagyobb üveg: " << legn_uveg2 << " dl és " << sorszama2 << ". a sorban." << endl;
40 // --------------------------------------------------------------------------------------------
41
42 cout << "4. feladat" << endl;
43 // C++ megoldás
44 if(accumulate(uvegek.begin(), uvegek.end(), 0) >= lekvar)
45 {
46 cout << "Elegendő üveg volt." << endl;
47 }
48 else
49 {
50 cout << "Maradt lekvár." << endl;
51 }
52
53 // "Klasszikus" megoldás: Programozási tétel segítségével (sorozatszámítás - öszegzés)
54 int osszes_urtartalom = 0;
55 for(int i = 0; i < uvegek.size(); i++)
56 osszes_urtartalom += uvegek[i];
57 if(osszes_urtartalom >= lekvar)
58 {
59 cout << "Elegendő üveg volt." << endl;
60 }
61 else
62 {
63 cout << "Maradt lekvár." << endl;
64 }
65 return 0;
66 }