Advertisement
amermo

pretvori arapski u rimski - zadatak za zadacu

Mar 14th, 2015
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <stdexcept>
  5.  
  6. std::string Rimski(int n)
  7. {
  8.     if(n < 1 || n > 3999) throw std::domain_error("Broj nije u zadanom opsegu!");
  9.     std::vector<std::string> RimskiBrojevi {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
  10.     std::vector<int> Arapski {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
  11.     std::string RimskiRezultat;
  12.     int MojBroj(n);
  13.     for(unsigned int i(0); i < Arapski.size(); i++)
  14.     {
  15.         while(MojBroj >= Arapski[i])
  16.         {
  17.             MojBroj-=Arapski[i];
  18.             RimskiRezultat+=RimskiBrojevi[i];
  19.         }
  20.     }
  21.     return RimskiRezultat;
  22. }
  23.  
  24. int main()
  25. {
  26.     try
  27.     {
  28.         int n;
  29.         std::cout << "Unesite broj koji zelite pretvoriti u rimski: ";
  30.         std::cin >> n;
  31.         std::cout << "Uneseni broj u rimskom zapisu: " << Rimski(n);
  32.     }
  33.     catch(std::domain_error izuzetak)
  34.     {
  35.         std::cout << izuzetak.what() << std::endl;
  36.     }
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement