इस ट्यूटोरियल में, हम 1 से 3999 के बीच रोमन अंकों को दशमलव में बदलने के कार्यक्रम पर चर्चा करेंगे।
इसके लिए हमें एक यादृच्छिक रोमन अंक प्रदान किया जाएगा। हमारा काम दिए गए रोमन अंक को उसके दशमलव समकक्ष में बदलना है।
उदाहरण
#include<bits/stdc++.h>
using namespace std;
//calculating the decimal value
int value(char r){
if (r == 'I')
return 1;
if (r == 'V')
return 5;
if (r == 'X')
return 10;
if (r == 'L')
return 50;
if (r == 'C')
return 100;
if (r == 'D')
return 500;
if (r == 'M')
return 1000;
return -1;
}
//calculating decimal equivalent of given numeral
int convert_decimal(string &str){
int res = 0;
for (int i=0; i<str.length(); i++){
//getting value of digit
int s1 = value(str[i]);
if (i+1 < str.length()){
int s2 = value(str[i+1]);
if (s1 >= s2){
res = res + s1;
}
else{
res = res + s2 - s1;
i++;
}
}
else{
res = res + s1;
}
}
return res;
}
int main(){
string str ="MCMIV";
cout << "Integer form:"
<< convert_decimal(str) << endl;
return 0;
} आउटपुट
Integer form:1904