Skocz do zawartości
Roundstic

Zachłanne wydawanie reszty

Rekomendowane odpowiedzi

Zaimplementuj zachłanny algorytm wydawania reszty (w polskiej walucie) z ograniczoną liczbą nominałów. Danymi wejściowymi dla programu mają być - liczby dostępnych nominałów (1, 2, 5, 10, 20, 50, 100, 200, 500 PLN) oraz kwota do wydania (w pełnych złotych polskich). Jako wynik należy wypisać nominały użyte do wydania kwoty lub informację, że danej kwoty nie można wydać. Można założyć, że wszystkie podawane liczby zmieszczą się w typie int.

 

Przykład 1

 

Wejście

49

2 2 2 2 2 2 2 2 2

 

Wyjście

20 20 5 2 2

 

Przykład 2

 

Wejście

9

10 0 3 1 11 2 3 2 1

 

Wyjście

5 1 1 1 1

 

 

 

 

Narazie mam taki kod, ale nie wiem jak dodać te ograniczenia na liczbę nominałów

 

#include <iostream>

using namespace std;

int main()
{
   int T[9]={500, 200, 100, 50, 20, 10, 5, 2, 1};
   int liczba;

   cout<<"Podaj liczbe: ";
   cin>>liczba;

   for(int i=0; i<=8; i++)
   {
       while(liczba >= T[i])
       {
           liczba = liczba - T[i];
           cout<<T[i];
       }

   }



}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Musisz wczytać liczbę banknotów/monet o danym nominale, np. przez zrobienie tablicy T jako dwuwymiarowej (pierwszy wymiar nominał, drugi ilość).

W pętli while musisz dać podwójny warunek, tak jak masz na nominał plus na liczbę banknotów/monet.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiem jak to zrobić, żeby były wczytane nominały a ich liczbę podawał użytkownik

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Przecież już robiłeś takie rzeczy :hmm:

Liczbę nominałów znasz, więc wiadomo ile razy pętla wczytująca liczby musi się wykonać.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ok udało mi się napisać, dziękuję za pomoc.

Edytowane przez Roundstic

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...