কম্পিউটার টিউটোরিয়াল

সংখ্যা থেকে শব্দ রূপান্তর (Number to word conversion)


এই অ্যালগরিদম একটি প্রদত্ত সংখ্যাকে ইংরেজি শব্দে রূপান্তর করবে। যেমন ৫৬৪ হবে Five Hundred and Sixty-Four।

এই অ্যালগরিদমের জন্য, কিছু পূর্বনির্ধারিত স্ট্রিং দেওয়া আছে, সেখান থেকে এটি উপযুক্ত শব্দগুলো বের করে শব্দ তৈরি করবে।

তালিকাগুলো হলো:

  •  Units: এতে (০ থেকে ৯) সব শব্দ থাকবে যেন Zero, One...Nine
  •  twoDigits: এতে (১০ - ১৯) সব সংখ্যা থাকবে, যেন Ten, eleven...Nineteen
  • tenMul: দশের গুণিতক için, (২০-৯০), যেন Twenty, Thirty, ... Ninety।
  • tenPower: এটি Hundred এবং Thousands এর জন্য ১০-এর ঘাত ২ এবং ৩

ইনপুট এবং আউটপুট

ইনপুট: সংখ্যাটি: ৫৬৮ আউটপুট: Five Hundred And Sixty Eight

অ্যালগরিদম

numToWord(num)

কিছু লিস্ট আছে যা ভিন্ন পূর্ণসংখ্যার জন্য শব্দ ধারণ করে

ইনপুট: সংখ্যাটি।

আউটপুট: সংখ্যাকে শব্দে রিপ্রেজেন্ট করুন।

শুরু 
  যদি 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) 
    অন্যথায় 
      অবৈধ সংখ্যা প্রদর্শন করুন এবং বের হোন 
শেষ 

উদাহরণ

#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 ২ ডিজিট সংখ্যা   string td[10] = {"Ten", "Eleven","Twelve","Thirteen", "Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"};   return td[n%10]; } string getTenMul(int n) {   //এখানে n ১০-এর গুণিতক   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) << " ";     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. জাভাস্ক্রিপ্টে সংখ্যা প্যাটার্ন প্রিন্ট করা

  2. C++-এ ডেসিমেল থেকে হেক্সাডেসিমেল কনভার্সন প্রোগ্রাম

  3. C++-এ ডেসিমেল থেকে বাইনারি কনভার্সন প্রোগ্রাম

  4. ওয়ার্ডে পেজ নম্বর যোগ, মুছে ফেলা এবং কাস্টম পেজ নম্বর ইনসার্ট করার পদ্ধতি