Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void rome2arab(string r) {
- int d = 0, i;
- for (i = 0; i < r.length()-1; i++) {
- //Обрабатываем исключения
- if (r.compare(i, 2, "CM") == 0) {d += 900; i += 2; continue;}
- if (r.compare(i, 2, "CD") == 0) {d += 400; i += 2; continue;}
- if (r.compare(i, 2, "XC") == 0) {d += 90; i += 2; continue;}
- if (r.compare(i, 2, "XL") == 0) {d += 40; i += 2; continue;}
- if (r.compare(i, 2, "IX") == 0) {d += 9; i += 2; continue;}
- if (r.compare(i, 2, "IV") == 0) {d += 4; i += 2; continue;}
- //Если не попалось исключение, то просто прибавляем
- if (r.at(i) == 'M') d += 1000;
- if (r.at(i) == 'L') d += 500;
- if (r.at(i) == 'C') d += 100;
- if (r.at(i) == 'L') d += 50;
- if (r.at(i) == 'X') d += 10;
- if (r.at(i) == 'V') d += 5;
- if (r.at(i) == 'I') d += 1;
- }
- //Так как цикл идёт до предпроследнего символа, сравниваем последние символы
- if (r.at(r.length()) == 'M') d += 1000;
- if (r.at(r.length()) == 'L') d += 500;
- if (r.at(r.length()) == 'C') d += 100;
- if (r.at(r.length()) == 'L') d += 50;
- if (r.at(r.length()) == 'X') d += 10;
- if (r.at(r.length()) == 'V') d += 5;
- if (r.at(r.length()) == 'I') d += 1;
- cout << d << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment