Ocena użytkownikóww: ***** / 2
Nadesłany przez Michał Witaszek, 18 czerwca 2011 14:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
Reszta.dpr:
//Problem wydawania reszty
//www.algorytm.org
program Reszta;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
//tablica dostepnych nominalow
N: Array [1..8] of integer = (200, 100, 50, 20, 10, 5, 2, 1);
i,P,R: integer;
begin
Write('Podaj reszte do wyplacenia: ');
ReadLn(R);
i:=1;
while (R>0) do //dopoki nie wydano calej reszty
begin
if R>= N[i] then //sprawdz czy mozna wydac danym nominalem
begin
P:= R div N[i]; //ile razy wydac dany nominal
R:= R - (P*N[i]); //zmniejsz reszte o wydany nominal
WriteLn(N[i], ' x ', P); //wypisz wynik
end;
inc(i); //rozpatrz kolejny nominal
end;
ReadLn;
end.