#include <iostream>
#include <unordered_map>
using namespace std;
unordered_map<int, int> wydajReszte(float doZaplaty, float otrzymanaKwota) {
unordered_map<int, int> resztaWNominalach;
float reszta = otrzymanaKwota - doZaplaty;
int nominaly[] = {500, 200, 100, 50, 20, 10, 5, 2, 1};
int iloscNominalow;
for (int i = 0; i < sizeof(nominaly) / sizeof(nominaly[0]); i++) {
iloscNominalow = reszta / nominaly[i];
if (iloscNominalow > 0) {
resztaWNominalach[nominaly[i]] = iloscNominalow;
reszta -= iloscNominalow * nominaly[i];
}
}
return resztaWNominalach;
}
int main() {
float doZaplaty, otrzymanaKwota;
cout << "Podaj kwotę do zapłaty: ";
cin >> doZaplaty;
cout << "Podaj kwotę, którą klient podał: ";
cin >> otrzymanaKwota;
unordered_map<int, int> reszta = wydajReszte(doZaplaty, otrzymanaKwota);
cout << "Reszta:" << endl;
for (auto it = reszta.begin(); it != reszta.end(); ++it) {
cout << it->second << " x " << it->first << " PLN" << endl;
}
return 0;
}
Paste Hosted With By Wklejamy.pl