Advertisement
Guest User

Untitled

a guest
Oct 13th, 2016
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.76 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int I = 0, V = 0, X = 0, L = 0, C = 0, D = 0, M = 0, I1 = 0, V1 = 0, X1 = 0, L1 = 0, C1 = 0, D1 = 0, M1 = 0, Is = 0, Vs = 0, Xs = 0, Ls = 0, Cs = 0, Ds = 0, Ms = 0, suma;
  8.     string wejscie, wejscie2, wyjscie;
  9.     wyjscie = "";
  10.     cin >> wejscie;
  11.     wejscie.push_back(0);
  12.     for (unsigned int i=0;i<wejscie.length()-1;i++)
  13.     {
  14.         if (wejscie.at(i) == 'I' && wejscie.at(i+1) != 'V' && wejscie.at(i+1) != 'X' && wejscie.at(i+1) != 'L' && wejscie.at(i+1) != 'C' && wejscie.at(i+1) != 'D' && wejscie.at(i+1) != 'M')
  15.         {
  16.             I++;
  17.         }
  18.         if (wejscie.at(i) == 'I' && (wejscie.at(i+1) == 'V' || wejscie.at(i+1) == 'X' || wejscie.at(i+1) == 'L' || wejscie.at(i+1) == 'C' || wejscie.at(i+1) == 'D' || wejscie.at(i+1) == 'M'))
  19.         {
  20.             I--;
  21.         }
  22.         if (wejscie.at(i) == 'V')
  23.         {
  24.             V++;
  25.         }
  26.         if (wejscie.at(i) == 'X' && wejscie.at(i+1) != 'L' && wejscie.at(i+1) != 'C' && wejscie.at(i+1) != 'D' && wejscie.at(i+1) != 'M' )
  27.         {
  28.             X++;
  29.         }
  30.         if (wejscie.at(i) == 'X' && (wejscie.at(i+1) == 'L' || wejscie.at(i+1) == 'C' || wejscie.at(i+1) == 'D' || wejscie.at(i+1) == 'M'))
  31.         {
  32.             X--;
  33.         }
  34.         if (wejscie.at(i) == 'L')
  35.         {
  36.             L++;
  37.         }
  38.         if (wejscie.at(i) == 'C' && wejscie.at(i+1) != 'D' && wejscie.at(i+1) != 'M')
  39.         {
  40.             C++;
  41.         }
  42.         if (wejscie.at(i) == 'C' && (wejscie.at(i+1) == 'D' || wejscie.at(i+1) == 'M'))
  43.         {
  44.             C--;
  45.         }
  46.         if (wejscie.at(i) == 'D')
  47.         {
  48.             D++;
  49.         }
  50.         if (wejscie.at(i) == 'M')
  51.         {
  52.             M++;
  53.         }
  54.     }
  55.     suma = M*1000 + D*500 + C*100 + L*50 + X*10 + V*5 + I*1;
  56.  
  57.     cin >> wejscie2;
  58.     wejscie2.push_back(0);
  59.     for (unsigned int i=0;i<wejscie2.length()-1;i++)
  60.     {
  61.         if (wejscie2.at(i) == 'I' && wejscie2.at(i+1) != 'V' && wejscie2.at(i+1) != 'X' && wejscie2.at(i+1) != 'L' && wejscie2.at(i+1) != 'C' && wejscie2.at(i+1) != 'D' && wejscie2.at(i+1) != 'M')
  62.         {
  63.             I1++;
  64.         }
  65.         if (wejscie2.at(i) == 'I' && (wejscie2.at(i+1) == 'V' || wejscie2.at(i+1) == 'X' || wejscie2.at(i+1) == 'L' || wejscie2.at(i+1) == 'C' || wejscie2.at(i+1) == 'D' || wejscie2.at(i+1) == 'M'))
  66.         {
  67.             I1--;
  68.         }
  69.         if (wejscie2.at(i) == 'V')
  70.         {
  71.             V1++;
  72.         }
  73.         if (wejscie2.at(i) == 'X' && wejscie2.at(i+1) != 'L' && wejscie2.at(i+1) != 'C' && wejscie2.at(i+1) != 'D' && wejscie2.at(i+1) != 'M' )
  74.         {
  75.             X1++;
  76.         }
  77.         if (wejscie2.at(i) == 'X' && (wejscie2.at(i+1) == 'L' || wejscie2.at(i+1) == 'C' || wejscie2.at(i+1) == 'D' || wejscie2.at(i+1) == 'M'))
  78.         {
  79.             X1--;
  80.         }
  81.         if (wejscie2.at(i) == 'L')
  82.         {
  83.             L1++;
  84.         }
  85.         if (wejscie2.at(i) == 'C' && wejscie2.at(i+1) != 'D' && wejscie2.at(i+1) != 'M')
  86.         {
  87.             C1++;
  88.         }
  89.         if (wejscie2.at(i) == 'C' && (wejscie2.at(i+1) == 'D' || wejscie2.at(i+1) == 'M'))
  90.         {
  91.             C1--;
  92.         }
  93.         if (wejscie2.at(i) == 'D')
  94.         {
  95.             D1++;
  96.         }
  97.         if (wejscie2.at(i) == 'M')
  98.         {
  99.             M1++;
  100.         }
  101.     }
  102.     suma += M1*1000 + D1*500 + C1*100 + L1*50 + X1*10 + V1*5 + I1*1;
  103.     cout << suma;
  104.     Is = I + I1;
  105.     Ds = D + D1;
  106.     Ms = M + M1;
  107.     Cs = C + C1;
  108.     Ls = L + L1;
  109.     Xs = X + X1;
  110.     Vs = V + V1;
  111.  
  112.     while (Is>=5)
  113.     {
  114.         Is-=5;
  115.         Vs++;
  116.     }
  117.     while (Vs>=2)
  118.     {
  119.         Vs-=2;
  120.         Xs++;
  121.     }
  122.     while (Xs>=5)
  123.     {
  124.         Xs-=5;
  125.         Ls++;
  126.     }
  127.     while (Ls>=2)
  128.     {
  129.         Ls-=2;
  130.         Cs++;
  131.     }
  132.     while (Cs>=5)
  133.     {
  134.         Cs-=5;
  135.         Ds++;
  136.     }
  137.     while (Ds>=2)
  138.     {
  139.         Ms++;
  140.         Ds-=2;
  141.     }
  142.  
  143.  
  144.     if (suma > 900 & suma < 1000)
  145.     {
  146.         wyjscie.push_back('C');
  147.         wyjscie.push_back('M');
  148.     }
  149.     while (Ms>0,Ms--)
  150.     {
  151.       wyjscie.push_back('M');
  152.     }
  153.     if (suma > 400 && suma < 500)
  154.     {
  155.         wyjscie.push_back('C');
  156.         wyjscie.push_back('D');
  157.     }
  158.     while (Ds>0,Ds--)
  159.     {
  160.       wyjscie.push_back('D');
  161.     }
  162.     if (Cs==4)
  163.     {
  164.         wyjscie.push_back('C');
  165.         wyjscie.push_back('D');
  166.         Cs-=4;
  167.     }
  168.     while (Cs>0, Cs--)
  169.     {
  170.         wyjscie.push_back('C');
  171.     }
  172.     while (Ls>0, Ls--)
  173.     {
  174.         wyjscie.push_back('L');
  175.     }
  176.     while (Xs>0, Xs--)
  177.     {
  178.         wyjscie.push_back('X');
  179.     }
  180.     while (Vs>0, Vs--)
  181.     {
  182.         wyjscie.push_back('V');
  183.     }
  184.     while (Is>0,Is--)
  185.     {
  186.         wyjscie.push_back('I');
  187.     }
  188.     cout << wyjscie;
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement