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

C प्रोग्राम: संख्या को शब्दों में बदलें

समस्या विवरण

एक संख्यात्मक स्ट्रिंग (अधिकतम 4 अंक: 0-9999) दी गई है, इसे अंग्रेजी शब्दों में बदलें।

उदाहरण

इनपुटआउटपुट
"1234""one thousand two hundred thirty four"
"7777""seven thousand seven hundred seventy seven"
"100""one hundred"
"15""fifteen"

स्थान मान प्रणाली

संख्या: 1111
स्थान:  हजार  सौ  दहाई  इकाई
अंक:    1     1    1     1

C प्रोग्राम

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void convert_to_words(char *num) {
    int len = strlen(num);
    
    if (len == 0) {
        printf("खाली स्ट्रिंग\n");
        return;
    }
    if (len > 4) {
        printf("केवल 4 अंक तक समर्थित (0-9999)\n");
        return;
    }
    
    char *single_digit[] = {
        "zero", "one", "two", "three", "four",
        "five", "six", "seven", "eight", "nine"
    };
    
    char *tens_place[] = {
        "", "ten", "eleven", "twelve", "thirteen", "fourteen",
        "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"
    };
    
    char *tens_multiple[] = {
        "", "", "twenty", "thirty", "forty", "fifty",
        "sixty", "seventy", "eighty", "ninety"
    };
    
    char *tens_power[] = {"hundred", "thousand"};
    
    printf("%s: ", num);
    
    if (len == 1) {
        printf("%s\n", single_digit[*num - '0']);
        return;
    }
    
    while (*num != '\0') {
        if (len >= 3) {
            if (*num - '0' != 0) {
                printf("%s %s ", single_digit[*num - '0'], tens_power[len-3]);
            }
            len--;
        } else {
            // अंतिम दो अंक संभालें
            if (*num == '1') {
                int sum = (*num - '0') + (*(num+1) - '0');
                printf("%s\n", tens_place[sum]);
                return;
            } else if (*num == '2' && *(num+1) == '0') {
                printf("twenty\n");
                return;
            } else {
                int i = *num - '0';
                if (i > 0) printf("%s ", tens_multiple[i]);
                num++;
                if (*num != '0')
                    printf("%s ", single_digit[*num - '0']);
            }
        }
        num++;
    }
    printf("\n");
}

int main() {
    char input[5];
    printf "संख्या दर्ज करें (0-9999): ";
    scanf("%4s", input);
    convert_to_words(input);
    return 0;
}

नमूना आउटपुट

संख्या दर्ज करें (0-9999): 9132
9132: nine thousand one hundred thirty two

हिंदी में रूपांतरण (विस्तार)

char *hindi_single[] = {"शून्य", "एक", "दो", "तीन", "चार", "पांच", "छह", "सात", "आठ", "नौ"};
char *hindi_tens[] = {"", "दस", "ग्यारह", "बारह", "तेरह", "चौदह", "पंद्रह", "सोलह", "सत्रह", "अठारह", "उन्नीस"};
char *hindi_tens_mul[] = {"", "", "बीस", "तीस", "चालीस", "पचास", "साठ", "सत्तर", "अस्सी", "नब्बे"};

void convert_to_hindi(char *num) {
    // समान तर्क लेकिन हिंदी सरणियों के साथ
    // "हजार", "सौ" का उपयोग करें
}

सीमाएं और सुधार

  • सीमा: केवल 9999 तक (बड़े नंबरों के लिए लाख, करोड़ जोड़ें)
  • शून्य संभाल: मध्यवर्ती शून्यों को सही ढंग से संभालता है
  • अनुकूलन: पुनरावृत्ति या लुकअप टेबल का उपयोग कर सकते हैं
  1. - C# में स्ट्रिंग में शब्दों की संख्या गिनना

    स्ट्रिंग में शब्दों की गिनती के लिए हम व्हाइटस्पेस कैरेक्टर्स (स्पेस, टैब, नई लाइन) को विभाजक (डिलीमीटर) के रूप में उपयोग करते हैं। उदाहरण: मैन्युअल लूप using System; public class Demo { public static void Main() { int index = 0, wordCount = 1; // कम से कम 1 शब्द मानकर string s

  1. - दिए गए नंबर के लिए ग्रे कोड बदलने का पायथन प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है, हमें उस दी गई संख्या के लिए ग्रे कोड ढूंढना है (दूसरे शब्दों में nवां ग्रे कोड)। जैसा कि हम जानते हैं ग्रे कोड बाइनरी संख्याओं को क्रमबद्ध करने का एक तरीका है जिससे प्रत्येक लगातार संख्या के मान ठीक एक बिट से भिन्न होते हैं। कुछ ग्रे कोड हैं: [0, 1, 11, 10, 110,

  1. - Python में संख्या को पूर्णांकों की सूची में बदलें

    Python में डेटा हेरफेर के हिस्से के रूप में हमें कभी-कभी दी गई संख्या को एक सूची में बदलने की आवश्यकता होती है जिसमें उस संख्या के अंक होते हैं। इस लेख में हम इसे प्राप्त करने के दृष्टिकोण देखेंगे।सूची समझ के साथनीचे दिए गए दृष्टिकोण में हम दी गई संख्या पर str फंक्शन लागू करते हैं और फिर पहचान फंक्श