C भाषा में रोमन संख्याओं को दशमलव संख्याओं में बदलने के लिए एल्गोरिथ्म नीचे दिया गया है -
एल्गोरिदम
चरण 1 - प्रारंभ करें
चरण 2 - रनटाइम पर रोमन अंक पढ़ें
चरण 3 - लंबाई:=strlen(roman)
चरण 4 - i =0 से लंबाई-1 के लिए करें
चरण 4.1 - स्विच (रोमन[i])
चरण 4.1.1 - केस 'एम':
चरण 4.1.2 - केस 'एम':
चरण 4.1.2.1 - घ [i]:=1000
चरण 4.1.3 - केस 'डी':
चरण 4.1.4 - केस 'डी':
चरण 4.1.4.1 - घ [i]:=500
चरण 4.1.5 - केस 'सी':
चरण 4.1.6 - केस 'सी':
चरण 4.1.6.1 - घ [i]:=100
चरण 4.1.7 - केस 'एल':
चरण 4.1.8 - केस 'एल':
चरण 4.1.8.1 - घ[i]:=50
चरण 4.1.9 - केस 'x':
चरण 4.1.10 - केस 'X':
चरण 4.1.10.1 - घ[i]:=10
चरण 4.1.11 - केस 'v':
चरण 4.1.12 - केस 'वी':
चरण 4.1.12.1 - घ[i]:=5
चरण 4.1.13 - केस 'i':
चरण 4.1.14 - केस 'I':
चरण 4.1.14.1 - घ[i]:=1
चरण 5 - i =0 से लंबाई-1 के लिए करें
चरण 5.1 - यदि (i==length-1) या (d[i]>=d[i+1]) तो
चरण 5.1.1 - डेसी +=डी[i]
चरण 5.2 - अन्य
चरण 5.2.1 - डेसी -=डी[i]
चरण 6 - रोमन अंक के दशमलव समकक्ष को प्रिंट करें
चरण 7 - रुकें
कार्यक्रम
रोमन संख्याओं को दशमलव संख्याओं में बदलने के लिए C प्रोग्राम निम्नलिखित है:-
#include <stdio.h> #include <conio.h> main(){ char roman[30]; int deci=0; int length,i,d[30]; printf("The Roman equivalent to decimal\n"); printf("Decimal:.........Roman\n"); printf("%5d............%3c\n",1,'I'); printf("%5d............%3c\n",5,'V'); printf("%5d............%3c\n",10,'X'); printf("%5d............%3c\n",50,'L'); printf("%5d............%3c\n",100,'C'); printf("%5d............%3c\n",500,'D'); printf("%5d............%3c\n",1000,'M'); printf("Enter a Roman numeral:"); scanf("%s",roman); length=strlen(roman); for(i=0;i<length;i++){ switch(roman[i]){ case 'm': case 'M': d[i]=1000; break; case 'd': case 'D': d[i]= 500; break; case 'c': case 'C': d[i]= 100; break; case 'l': case 'L': d[i]= 50; break; case 'x': case 'X': d[i]= 10; break;; case 'v': case 'V': d[i]= 5; break; case 'i': case 'I': d[i]= 1; } } for(i=0;i<length;i++){ if(i==length-1 || d[i]>=d[i+1]) deci += d[i]; else deci -= d[i]; } printf("The Decimal equivalent of Roman numeral %s is %d", roman, deci); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
The Roman equivalent to decimal Decimal:.........Roman 1............ I 5............ V 10............ X 50............ L 100............ C 500............ D 1000............ M Enter a Roman numeral: M The Decimal equivalent of Roman Numeral M is 1000