Advertisement
MSzopa

Algorytm Zachłanny

May 27th, 2020
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.30 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. //----------------------------------------------------------------------------------------------------------
  4. //Zad 2 / 175
  5. //funkcja zajmująca się wydawaniem reszty, do której wywołania potrzebny jest argument
  6. //argument to reszta, typ - liczba całkowita (integer). Przechowuje on pozostałą kwotę do wydania.
  7. //ta funkcja to algorytm zachłanny
  8. void Reszta_2(int reszta) {
  9.     //l - liczba. Używam nazw zmiennych w ten sposób na codzień, więc pisze w takiej formie z przyzwyczajenia
  10.     int l5, l2, l1;
  11.     //ilośc 5-cio złotówek do wydania
  12.     l5 = reszta / 5;
  13.     reszta -= l5 * 5;
  14.     //ilość 2-u złotówek do wydania
  15.     l2 = reszta / 2;
  16.     reszta -= l2*2;
  17.     //ilość złotówek do wydania
  18.     l1 = reszta;
  19.     //Wypisanie rządanych danych
  20.     cout << "Do wydania:" << endl;
  21.     cout << l5 << " szt. pięciozłotówek" << endl;
  22.     cout << l2 << " szt. dwuzłotówek" << endl;
  23.     cout << l1 << " szt. złotówek" << endl;
  24. }
  25. void Zad_2() {
  26.     cout << "-------------------------------------------\nZadanie 2/175\n";
  27.     cout << "Podaj resztę:";
  28.     int reszta;
  29.     cin >> reszta;
  30.     Reszta_2(reszta);
  31. }
  32. //----------------------------------------------------------------------------------------------------------
  33. //Zad 3 / 175
  34. //funkcja zajmująca się wydawaniem reszty, do której wywołania potrzebny jest argument
  35. //argument to reszta, typ - liczba zmiennoprzecinkowa (float). Przechowuje on pozostałą kwotę do wydania.
  36. //ta funkcja to algorytm zachłanny
  37. void Reszta_3(float reszta) {
  38.         //l - liczba. Używam nazw zmiennych w ten sposób na codzień, więc pisze w takiej formie z przyzwyczajenia
  39.         int l5, l2, l1,l50g,l20g,l10g;
  40.         //liczba pięcio złotówek do wydania
  41.         l5 = reszta / 5;
  42.         reszta -= l5 * 5;
  43.         //liczba dwu złotówek do wydania
  44.         l2 = reszta / 2;
  45.         reszta -= l2 * 2;
  46.         //liczba złotówek do wydania
  47.         l1 = reszta/1;
  48.         reszta -= l1;
  49.         //liczba pięćdziesięciogroszówek do wydania
  50.         l50g = reszta / 0.5;
  51.         reszta -= l50g*0.5;
  52.         //liczba dwudziestogroszówek do wydania
  53.         l20g = reszta / 0.2;
  54.         reszta -= l20g*0.2;
  55.         //liczba dziesięciogroszówek do wydania
  56.         l10g = reszta / 0.1;
  57.         reszta -= l10g*0.1;
  58.         //Wypisanie rządanych danych
  59.         cout << "Do wydania:" << endl;
  60.         cout << l5 << " szt. pięciozłotówek" << endl;
  61.         cout << l2 << " szt. dwuzłotówek" << endl;
  62.         cout << l1 << " szt. złotówek" << endl;
  63.         cout << l50g << " szt. pięćdziesięciogroszówek" << endl;
  64.         cout << l20g << " szt. dwudziestogroszówek" << endl;
  65.         cout << l10g << " szt. dziesięciogroszówek" << endl;
  66. }
  67. void Zad_3() {
  68.     cout << "-------------------------------------------\nZadanie 3/175\n";
  69.     cout << "Podaj resztę (złotówki.grosze):";
  70.     float reszta;
  71.     cin >> reszta;
  72.     Reszta_3(reszta);
  73.     cout << "-------------------------------------------";
  74. }
  75. //----------------------------------------------------------------------------------------------------------
  76. int main()
  77. {
  78.     setlocale(LC_ALL, "Polish");
  79.     //Zadanie 2
  80.     Zad_2();
  81.     cout << "-------------------------------------------\n";
  82.     //Zadanie 3
  83.     Zad_3();
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement