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

संख्या को शब्दों में बदलना


परिचय

यह एल्गोरिदम एक दी गई संख्या को अंग्रेजी शब्दों में बदल देगा। जैसे 564 होगा Five Hundred and Sixty-Four।

इस एल्गोरिदम के लिए, कुछ पूर्वनिर्धारित स्ट्रिंग्स दी गई हैं, उस सूची से, यह शब्द बनाने के लिए उचित शब्द प्राप्त करेगा।

सूचियाँ इस प्रकार हैं:

  • Units: यह (0 से 9) तक के सभी शब्दों को धारण करेगा जैसे Zero, One...Nine
  • twoDigits: यह (10 - 19) से सभी संख्याओं को धारण करेगा, जैसे Ten, Eleven...Nineteen
  • tenMul: दस के गुणकों के लिए, (20-90), जैसे Twenty, Thirty,... Ninety।
  • tenPower: यह Hundred और Thousands के लिए है जैसे 10 की घात 2 और 3

इनपुट और आउटपुट

इनपुट: संख्या: 568
आउटपुट: Five Hundred And Sixty Eight

एल्गोरिदम

numToWord(num)
कुछ सूचियाँ हैं जो विभिन्न पूर्णांकों के लिए शब्द धारण करती हैं

इनपुट: संख्या
आउटपुट: संख्या को शब्दों में प्रस्तुत करें

Begin
    यदि n >= 0 और n < 10, तो
        units(n) को शब्दों में प्रदर्शित करें
    अन्यथा यदि n >= 10 और n < 20, तो
        twoDigitNum(n) को शब्दों में प्रदर्शित करें
        // यह दस से उन्नीस तक है
    अन्यथा यदि n >= 20 और n < 100, तो
        tensMultiple(n/10) को शब्दों में प्रदर्शित करें
        यदि n mod 10 ≠ 0, तो
            numToWord(n mod 10)
    अन्यथा यदि n >= 100 और n < 1000, तो
        units(n/100) को शब्दों में प्रदर्शित करें
        "Hundred" को शब्दों में प्रदर्शित करें
        // Hundred
        यदि n mod 100 ≠ 0, तो
            "And" प्रदर्शित करें
            numToWord(n mod 100)
    अन्यथा यदि n >= 1000 और n <= 32767, तो
        numToWord(n/1000)
        "Thousand" प्रदर्शित करें
        यदि n mod 1000 ≠ 0, तो
            numToWord(n mod 1000)
    अन्यथा
        अमान्य संख्या प्रदर्शित करें और बाहर निकलें
End

उदाहरण (C++ कोड)

#include <iostream>
using namespace std;

string getUnit(int n) {
    // एकल अंक को शब्द में लौटाएं
    string unit[10] = {"Zero", "One","Two", "Three","Four","Five", "Six","Seven","Eight","Nine"};
    return unit[n];
}

string getTwoDigits(int n) {
    // यहाँ n 2 अंकों की संख्या है
    string td[10] = {"Ten", "Eleven","Twelve","Thirteen", "Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"};
    return td[n%10];
}

string getTenMul(int n) {
    // यहाँ n 10 का गुणक है
    string tm[8] = {"Twenty", "Thirty","Fourty", "Fifty","Sixty", "Seventy","Eighty","Ninty"};
    return tm[n-2];
}

string getTenPow(int pow) {
    // दस की घात शब्दों में
    string power[2] = {"Hundred", "Thousand"};
    return power[pow-2];
}

void printNumToWord(int n) {
    if (n >= 0 && n < 10)
        cout << getUnit(n) << " "; // इकाई मानों को शब्द में
    else if (n >= 10 && n < 20)
        cout << getTwoDigits(n) << " "; // ग्यारह से उन्नीस तक
    else if (n >= 20 && n < 100) {
        cout << getTenMul(n/10) << " ";
        if (n%10 != 0)
            printNumToWord(n%10); // संख्या को शब्द में बदलने के लिए पुनरावर्ती कॉल
    }
    else if (n >= 100 && n < 1000) {
        cout << getUnit(n/100) << " ";
        cout << getTenPow(2) << " "; // Hundred
        if (n%100 != 0) {
            cout << "And ";
            printNumToWord(n%100);
        }
    }
    else if (n >= 1000 && n <= 32767) {
        printNumToWord(n/1000);
        cout << getTenPow(3) << " "; // Thousand
        if (n%1000 != 0)
            printNumToWord(n%1000);
    }
    else
        printf("Invalid Input");
}

int main() {
    int number;
    cout << "Enter a number between 0 to 32767: "; cin >> number;
    printNumToWord(number);
}

आउटपुट

Enter a number between 0 to 32767: 568
Five Hundred And Sixty Eight
  1. C++ में डेसिमल से हेक्साडेसिमल रूपांतरण C++ में डेसिमल से हेक्साडेसिमल रूपांतरण

    एक डेसिमल संख्या इनपुट के रूप में दी गई है, कार्य दी गई डेसिमल संख्या को हेक्साडेसिमल संख्या में बदलना है। कंप्यूटर में हेक्साडेसिमल संख्या को आधार 16 के साथ दर्शाया जाता है और डेसिमल संख्या को आधार 10 के साथ दर्शाया जाता है और मान 0-9 से दर्शाए जाते हैं जबकि हेक्साडेसिमल संख्या में 0-15 से अंक होते

  1. C++ में डेसिमल से बाइनरी रूपांतरण C++ में डेसिमल से बाइनरी रूपांतरण

    एक डेसिमल संख्या इनपुट के रूप में दी गई है, कार्य दी गई डेसिमल संख्या को बाइनरी संख्या में बदलना है। कंप्यूटर में डेसिमल संख्या को आधार 10 के साथ दर्शाया जाता है और बाइनरी संख्या को आधार 2 के साथ दर्शाया जाता है क्योंकि इसमें केवल दो बाइनरी अंक 0 और 1 होते हैं जबकि डेसिमल संख्याएं 0-9 से शुरू होने व

  1. Word में कस्टम पेज नंबर कैसे जोड़ें, हटाएं या डालें Word में कस्टम पेज नंबर कैसे जोड़ें, हटाएं या डालें

    यदि आप पेज नंबर जोड़ना या हटाना चाहते हैं या Word दस्तावेज़ में कस्टम पेज नंबर डालना चाहते हैं, तो आपको इस ट्यूटोरियल का पालन करना चाहिए। कोई फर्क नहीं पड़ता कि आप किसी विशिष्ट अंक से पेज नंबर शुरू करना चाहते हैं या पेज नंबर को पूरी तरह से छुपाना चाहते हैं, आप चरण-दर-चरण गाइड की मदद से सब कुछ कर सकत