Forum PCLab.pl: Zachłanne wydawanie reszty - Forum PCLab.pl

Skocz do zawartości

Otwarty

Ikona Najnowsze pliki

Strona 1 z 1
  • Nie możesz rozpocząć nowego tematu
  • Nie możesz odpowiadać w tym temacie

Zachłanne wydawanie reszty Oceń temat: -----

#1 Użytkownik jest niedostępny   Roundstic 

  • Dyskutant
  • PipPip
  • Grupa: Forumowicze
  • Postów: 21
  • Dołączył: Wed, 13 Lis 19

Napisany 01 Grudzień 2019 - 20:46

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];
        }
        
    }
     
    
    
}



#2 Użytkownik jest niedostępny   Bono[UG] 

  • Wiecznie niewyspany...
  • PipPipPipPipPip
  • Grupa: Forumowicze
  • Postów: 20197
  • Dołączył: Pt, 27 Wrz 02

Napisany 02 Grudzień 2019 - 08:43

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.

#3 Użytkownik jest niedostępny   Roundstic 

  • Dyskutant
  • PipPip
  • Grupa: Forumowicze
  • Postów: 21
  • Dołączył: Wed, 13 Lis 19

Napisany 02 Grudzień 2019 - 14:49

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

#4 Użytkownik jest niedostępny   Bono[UG] 

  • Wiecznie niewyspany...
  • PipPipPipPipPip
  • Grupa: Forumowicze
  • Postów: 20197
  • Dołączył: Pt, 27 Wrz 02

Napisany 02 Grudzień 2019 - 15:04

Przecież już robiłeś takie rzeczy :hmm:
Liczbę nominałów znasz, więc wiadomo ile razy pętla wczytująca liczby musi się wykonać.

#5 Użytkownik jest niedostępny   Roundstic 

  • Dyskutant
  • PipPip
  • Grupa: Forumowicze
  • Postów: 21
  • Dołączył: Wed, 13 Lis 19

Napisany 02 Grudzień 2019 - 20:18

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

Ten post był edytowany przez Roundstic dnia: 02 Grudzień 2019 - 21:05


Strona 1 z 1
  • Nie możesz rozpocząć nowego tematu
  • Nie możesz odpowiadać w tym temacie

1 Użytkowników czyta ten temat
0 użytkowników, 1 gości, 0 anonimowych