|
cimletezesC++.cpp
| |
1 #include <iostream>
2 #include <vector>
3 #include <map>
4
5 using namespace std;
6
7 void moho_cimletezes(int osszeg)
8 {
9 vector<int> cimletek={1,2,5,10,20,50,100,500,1000};
10 map<int,int> cimlet_db;
11
12 for(auto elem:cimletek)
13 {
14 cimlet_db[elem]=0;
15 }
16
17 vector<int> felhasznalt_cimletek;
18
19 int i=cimletek.size()-1;
20 while(i>=0)
21 {
22 while(osszeg>=cimletek[i])
23 {
24 osszeg=osszeg-cimletek[i];
25 felhasznalt_cimletek.push_back(cimletek[i]);
26 cimlet_db[cimletek[i]]++;
27 }
28 i--;
29 }
30 for(auto &cimlet:felhasznalt_cimletek)
31 {
32 cout << cimlet << " ";
33 }
34 cout << endl << "------------------------------------" << endl;
35 for(auto [key,value]:cimlet_db)
36 {
37 cout << key << ": " << value << endl;
38 }
39
40 }
41 int main()
42 {
43 setlocale(LC_ALL,"");
44 int valtando;
45 cout << "A cimletezendő összeg: ";
46 cin >> valtando;
47 cout << "A megadott összeg minimális cimletezése:" << endl;
48 moho_cimletezes(valtando);
49 return 0;
50
51 }