Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

रोमन अंकों को दशमलव संख्याओं में बदलने का C प्रोग्राम

C भाषा में रोमन अंकों को दशमलव संख्याओं में बदलने के लिए नीचे एक एल्गोरिथम दिया गया है:

एल्गोरिथम

चरण 1 - शुरू

चरण 2 - रनटाइम पर रोमन अंक पढ़ें

चरण 3 - लंबाई: = strlen(roman)

चरण 4 - i = 0 से लंबाई-1 तक करें

  • चरण 4.1 - switch(roman[i])
  • चरण 4.1.1 - केस 'm':
  • चरण 4.1.2 - केस 'M': चरण 4.1.2.1 - d[i] := 1000
  • चरण 4.1.3 - केस 'd':
  • चरण 4.1.4 - केस 'D': चरण 4.1.4.1 - d[i] := 500
  • चरण 4.1.5 - केस 'c':
  • चरण 4.1.6 - केस 'C': चरण 4.1.6.1 - d[i] := 100
  • चरण 4.1.7 - केस 'l':
  • चरण 4.1.8 - केस 'L': चरण 4.1.8.1 - d[i] := 50
  • चरण 4.1.9 - केस 'x':
  • चरण 4.1.10 - केस 'X': चरण 4.1.10.1 - d[i] := 10
  • चरण 4.1.11 - केस 'v':
  • चरण 4.1.12 - केस 'V': चरण 4.1.12.1 - d[i] := 5
  • चरण 4.1.13 - केस 'i':
  • चरण 4.1.14 - केस 'I': चरण 4.1.14.1 - d[i] := 1

चरण 5 - i = 0 से लंबाई-1 तक करें

  • चरण 5.1 - यदि (i == लंबाई-1) या (d[i] >= d[i+1]) तो चरण 5.1.1 - deci += d[i]
  • चरण 5.2 - अन्यथा चरण 5.2.1 - deci -= d[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
  1. - पायथन में रोमन अंक को पूर्णांक में बदलने का प्रोग्राम

    एक रोमन अंक स्ट्रिंग दी गई है, इसे पूर्णांक में बदलें। रोमन अंक बाएं से दाएं सबसे बड़े से सबसे छोटे प्रतीक के क्रम में लिखे जाते हैं, अपवाद तब होता है जब एक छोटा प्रतीक बड़े से पहले आता है (घटाव के लिए)। रोमन प्रतीक और मान प्रतीकमान M1000 D500 C100 L50 X10 V5 I1 उदाहरण इनपुट: MCLXVI आउटपुट: 1166

  1. पायथन प्रोग्राम: हेक्साडेसिमल स्ट्रिंग को दशमलव में बदलें पायथन प्रोग्राम: हेक्साडेसिमल स्ट्रिंग को दशमलव में बदलें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक हेक्साडेसिमल स्ट्रिंग दी गई है, जिसे उसके दशमलव समकक्ष में बदलना है। इस समस्या को हल करने के दो दृष्टिकोण हैं: ब्रूट-फोर्स दृष्टिकोण बिल्ट-इन मॉड्यूल का उपयोग ब्रूट-फोर्स विधि यहां हम स्पष्ट टाइप कास्टिंग फ़ंक्शन int() की

  1. पायथन प्रोग्राम: दशमलव को बाइनरी संख्या में बदलें पायथन प्रोग्राम: दशमलव को बाइनरी संख्या में बदलें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक दशमलव संख्या दी गई है, जिसे उसके बाइनरी समकक्ष में बदलना है। दिए गए समस्या को हल करने के दो दृष्टिकोण हैं। आइए उन्हें एक-एक करके देखें। पुनरावर्ती दृष्टिकोण उदाहरण 1: DecimalToBinary(num // 2) print(num % 2, en