Programowanie zachłanne w C++. Problem wydawanie reszty.
ฝัง
- เผยแพร่เมื่อ 12 ก.ย. 2024
- Programowanie zachłanne w C++. Wydawanie reszty.
PROBLEM: wydaj daną resztę jak najmniejszą ilością monet o dostępnych nominałach.
W filmie:
1) co to jest programowanie zachłanne?
2) założenia dp problemu wydawania reszty,
3) przygotowanie do kodowania,
4) napisanie kodu w C++,
5) przykłady uruchomienia w przypadkach optymalnych,
6) przykład, w którym metoda zachłanna NIE daje najlepszego wyniku.
Kod z filmu na stronie: woj-tek.pl/wpro...
pięknie wyjaśnione, dzięki bardzo
Dziękuję. Czasami mam poczucie, że całe to tłumaczenie i pisanie ręcznych przeliczeń jest za długie.
Bardzo dziękuję - wykorzystam na lekcji.
Korzystaj i podziel się z innymi nauczycielami. Powodzenia.
Jak zrobić aby ten program sam obliczył ile ma wydać reszty z 10 złotych za na przykład wodę, która kosztuje 2.30 oraz jak zrobić aby ten program widział te "grosze"? Jeszcze jedno pytanie jak zmienić, żeby zamiast wpisywać ile reszty miał wydać automat to ile dany produkt kosztuje? Pozdrawiam
Sprawdziłem. Wydawanie z groszami można zrobić modyfikując tablicę z nominałami. Będzie ona wyglądać tak: int nominal[]={50000, 20000, 10000, 5000, 2000, 1000, 500, 200, 100, 50, 20, 10, 5, 2, 1}; Dopisujemy grosze, ale żeby mieć nadal liczby naturalne, mnożymy wszystkie wartości przez 100. Jeśli jako kwotę do wydania podasz 123, to chcesz wydać 1,23, czyli 1zł 23gr. Teraz wystarczy zmienić w kodzie linię z wyświetlaniem monety: (float)moneta/100. Powinno działać. Pozostaje dopracować kwestię wprowadzania reszty. Można zamiast 123 wprowadzić 1,23, czyli 1zł 23gr. Wymaga to jednak kolejnych modyfikacji w kodzie bo musisz zamienić "int reszta" na "float reszta" i to nie koniec zmian.
Znalazłem też coś takiego: kaj.uniwersytetradom.pl/cpp1.html
Mam nadzieję, że trochę pomogłem.
@@informatykawliceum255 dziękuję bardzo za pomoc.
Pozdrawiam
Dzięki. Mam nadzieję, że film pomógł.