Guest User

Untitled

a guest
Aug 3rd, 2012
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. int RomanType::convert( string rom ) {
  2.     vector<int> storage;
  3.     for (int i = 0; i < rom.size(); ++i) {
  4.         switch(rom[i]) {
  5.         case 'M':
  6.             storage.push_back(1000);
  7.             break;
  8.         case 'D':
  9.             storage.push_back(500);
  10.             break;
  11.         case 'C':
  12.             storage.push_back(100);
  13.             break;
  14.         case 'L':
  15.             storage.push_back(50);
  16.             break;
  17.         case 'X':
  18.             storage.push_back(10);
  19.             break;
  20.         case 'V':
  21.             storage.push_back(5);
  22.             break;
  23.         case 'I':
  24.             storage.push_back(1);
  25.             break;
  26.         default:
  27.             break;
  28.         }
  29.     }
  30.    
  31.     int value = storage[0];
  32.     for (int i = 1; i < storage.size(); ++i) {
  33.         if (storage[i-1] < storage[i]) {
  34.             value += storage[i] - storage[i-1];
  35.             value -= storage[i-1];
  36.         } else {
  37.             value += storage[i];
  38.         }
  39.     }
  40.  
  41.     return value;
  42.  
  43. }
Advertisement
Add Comment
Please, Sign In to add comment