• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Algorytmy zachłanny wydawania reszty

0 głosów
856 wizyt
pytanie zadane 3 czerwca 2021 w C i C++ przez mrgrey987 Nowicjusz (120 p.)

Cześć! Od jakiegoś czasu zajmuje się napisaniem programu wydającego resztę w zależności od wprowadzonych nominałów. Poniżej mam działający kod, lecz nie wiem jak dodać komunikat "nie można wydać reszty". Z góry dziękuję za pomoc.

 

#include <iostream>


	using namespace std;

	int main()
{
    int R;
    int N[6];
	int i;
	int C;
	for(int i=0; i<6; i++){
        cout<<"wpisz "<<i+1<<" banknot"<<endl;
        cin>>N[i];
	}

	cout<<"Wpisz wartosc reszty"<<endl;
	cin>>R;

	i=0;
	while (R>0)
	{
		if (R>=N[i])
		{
			C=R/N[i];
			R=R-(C*N[i]);
			cout<<C<<"razy"<<N[i]<<endl;

		}
    
	i++;
	}
	
	 
	return 0;





};

 

komentarz 4 czerwca 2021 przez j23 Mędrzec (195,220 p.)
edycja 4 czerwca 2021 przez j23
R=R-(C*N[i]);

Można prościej: R %= N[i];

Dlaczego druga pętla to while, a nie for? Indeks i nie jest sprawdzany, więc istnieje ryzyko wyjścia poza tablicę. Warunkiem przerwania pętli powinno być i == 6 lub R == 0.

 

lecz nie wiem jak dodać komunikat "nie można wydać reszty".

Wypisujesz go wtedy, gdy "przelecisz" cała tablicę N, a R będzie różne od zera.

1 odpowiedź

0 głosów
odpowiedź 3 czerwca 2021 przez karoloo Użytkownik (530 p.)
nazywaj zmienne normalnie bo później sam się pogubisz co jest co
komentarz 3 czerwca 2021 przez mrgrey987 Nowicjusz (120 p.)
dziekuje za rade:), a masz moze odpowiedz na moje pytanie?
komentarz 3 czerwca 2021 przez wojtek_suchy Mądrala (6,880 p.)
Nikt nie da ci odpowiedzi na pytanie jeśli sam nie wyjdziesz z inicjatywą, nazwij normalnie zmiennie i wklej kod

Podobne pytania

–2 głosów
2 odpowiedzi 887 wizyt
pytanie zadane 26 listopada 2020 w C i C++ przez bobekpopek Nowicjusz (120 p.)
0 głosów
1 odpowiedź 1,991 wizyt
0 głosów
0 odpowiedzi 574 wizyt
pytanie zadane 1 maja 2020 w C i C++ przez Programmingc100 Bywalec (2,620 p.)

93,741 zapytań

142,676 odpowiedzi

323,294 komentarzy

63,319 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...