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

संख्या से शब्द रूपांतरण


यह एल्गोरिथम किसी दिए गए नंबर को अंग्रेजी के शब्दों में बदल देगा। जैसे 564 में पांच सौ चौंसठ होंगे।

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

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

  • इकाइयां: यह (0 से 9) के लिए सभी शब्दों को धारण करेगा जैसे ज़ीरो, वन… नौ
  • दो अंक: इसमें (10 - 19), जैसे दस, ग्यारह… उन्नीस
  • . के सभी नंबर होंगे
  • टेनमुल: दस गुणकों के लिए, (20-90), जैसे ट्वेंटी, थर्टी, ... नब्बे।
  • टेनपावर: यह 10 के घात 2 और 3 के रूप में सौ और हज़ारों के लिए है

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

Input:
The number: 568
Output:
Five Hundred And Sixty Eight

एल्गोरिदम

numToWord(num)

कुछ सूचियाँ हैं जिनमें अलग-अलग पूर्णांकों के लिए शब्द हैं

इनपुट: संख्या।

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

Begin
   if n >= 0 and n < 10, then
      display units(n) into words
   else if n >= 10 and n < 20, then
      display twoDigitNum(n) into words         //It is from ten to nineteen
   else if n >= 20 and n <100, then
      display tensMultiple(n/10), into words
      if n mod 10 ≠ 0, then
         numToWord(n mod 10)
   else if n >= 100 and n < 1000, then
      display units(n/100), into words
      display “Hundred”, into words      //Hundred
      if n mod 100 ≠ 0, then
         display “And”
         numToWord(n mod 100)
      else if n >= 1000 and n <= 32767, then
         numToWord(n/1000)
         display “Thousand”
         if n mod 1000 ≠ 0, then
            numToWord(n mod 1000)
      else
         display invalid number and exit
End

उदाहरण

#include<iostream>
using namespace std;

string getUnit(int n) {
    //Return single digit to word
   string unit[10] = {"Zero", "One","Two", "Three","Four","Five", "Six","Seven","Eight","Nine"};
   return unit[n];
}

string getTwoDigits(int n) {
   //Here n is 2 digit number
   string td[10] = {"Ten", "Eleven","Twelve","Thirteen", "Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"};
   return td[n%10];
}

string getTenMul(int n) {
   //Here n is multiple of 10
   string tm[8] = {"Twenty", "Thirty","Fourty", "Fifty","Sixty", "Seventy","Eighty","Ninty"};
   return tm[n-2];
}

string getTenPow(int pow) {
   //The power of ten in words
   string power[2] = {"Hundred", "Thousand"};
   return power[pow-2];
}

void printNumToWord(int n) {
   if(n >= 0 && n < 10)
      cout << getUnit(n) << " ";      //Unit values to word
   else if(n >= 10 && n < 20)
      cout << getTwoDigits(n) << " ";       //from eleven to nineteen
   else if(n >= 20 && n < 100) {
      cout << getTenMul(n/10)<<" ";
      if(n%10 != 0)
         printNumToWord(n%10); //Recursive call to convert num to word
   }else if(n >= 100 && n < 1000) {
      cout << getUnit(n/100)<<" ";
      cout <<getTenPow(2) << " ";

      if(n%100 != 0) {
         cout << "And ";
         printNumToWord(n%100);
      }

   }else if(n >= 1000 && n <= 32767) {
      printNumToWord(n/1000);
      cout <<getTenPow(3)<<" ";
      if(n%1000 != 0)
         printNumToWord(n%1000);
   }else
      printf("Invalid Input");
}

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++ में दशमलव से हेक्साडेसिमल रूपांतरण के लिए कार्यक्रम

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

  1. C++ में दशमलव से बाइनरी रूपांतरण के लिए कार्यक्रम

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

  1. वर्ड में कस्टम पेज नंबर कैसे जोड़ें, निकालें या डालें?

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