Habsburg

Lab1Alg

Nov 4th, 2015
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.32 KB | None | 0 0
  1. #include <iostream>
  2. #include <sstream>
  3.  
  4. const int polje[9] = {500, 200, 100, 50, 20, 10, 5, 2, 1};
  5.  
  6. std::string fun(int num) {
  7.     std::stringstream ss;
  8.     int j = 0;
  9.     int pamti = 0;
  10.     while(num != 0) {
  11.         for(int i = 0; i < 9; i++) {
  12.             if(num >= polje[i]) {
  13.                 if( pamti == 0 ) {
  14.                     j = 0;
  15.                     pamti = polje[i];
  16.                 }
  17.                 if(pamti != polje[i]) {
  18.                     ss << j << "*"<< float(pamti)/100 << " ";
  19.                     pamti = polje[i];
  20.                     j = 0;
  21.                 }
  22.                 num -= polje[i];
  23.                 j++;
  24.                 break;
  25.             }
  26.         }
  27.     }
  28.     ss << j << "*"<< float(pamti)/100 << " ";
  29.     return ss.str();
  30. }
  31.  
  32. void egpt(int nr, int dr) {
  33.     if(nr == 0 || dr == 0)
  34.         return;
  35.        
  36.     if(dr % nr == 0) {
  37.         std::cout << "1/" << dr/nr;
  38.         return;
  39.     }
  40.    
  41.     if(nr % dr == 0) {
  42.         std::cout << nr/dr;
  43.         return;
  44.     }
  45.    
  46.     if(nr > dr) {
  47.         std::cout << nr/dr << " + ";
  48.         egpt(nr % dr, dr);
  49.         return;
  50.     }
  51.    
  52.     int n = dr/nr + 1;
  53.     std::cout << "1/" << n << " + ";
  54.     egpt(nr * n - dr, dr * n);
  55. }
  56.  
  57. int main() {
  58.     egpt(7, 8);
  59.     std::cout << "\n";
  60.     float cijena = 0;
  61.     std::cout << "Upisite cijenu: ";
  62.     std::cin >> cijena;
  63.    
  64.     float dali = 0;
  65.     std::cout << "Upisite koliko ste dali: ";
  66.     std::cin >> dali;
  67.    
  68.     if(dali < cijena || cijena <= 0) {
  69.         std::cout << "Nece ici!";
  70.         return 0;
  71.     }
  72.    
  73.     int num = int(dali * 100) - int(cijena * 100);
  74.     std::cout << fun(num);
  75.     return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment