#include #include using namespace std; unordered_map wydajReszte(float doZaplaty, float otrzymanaKwota) { unordered_map 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 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; }