এই সমস্যায় আমরা দেখব কীভাবে স্ট্যাক ব্যবহার করে একটি ডেসিমাল নম্বরকে বাইনারি নম্বরে কনভার্ট করা যায়। আমরা জানি ডেসিমাল নম্বরকে ২ দিয়ে ভাগ করে এবং রিমেইন্ডার लेकर বাইনারিতে কনভার্ট করা যায়। আমরা শেষ থেকে প্রথমে রিমেইন্ডার নিই, তাই স্ট্যাক ডেটা স্ট্রাকচার ব্যবহার করে এটি সহজে করা যায়।
ইনপুট: ডেসিমাল নম্বর ১৩ আউটপুট: বাইনারি নম্বর ১১০১
অ্যালগরিদম
স্টেপ ১: একটি নম্বর ডেসিমাল নিন স্টেপ ২: যতক্ষণ নম্বর ০-এর চেয়ে বড়: স্টেপ ২.১: নম্বরকে ২ দিয়ে ভাগ করে রিমেইন্ডার স্টকে পুশ করুন। স্টেপ ২.২: নম্বরকে নম্বর / ২ সেট করুন। স্টেপ ৩: স্ট্যাক থেকে এলিমেন্ট পপ করুন এবং বাইনারি নম্বর প্রিন্ট করুন
উদাহরণ কোড
#include<iostream>
#include<stack>
using namespace std;
void dec_to_bin(int number) {
stack<int> stk;
while(number > 0) {
int rem = number % 2; // রিমেইন্ডার নিন
number = number / 2;
stk.push(rem);
}
while(!stk.empty()) {
int item;
item = stk.top();
stk.pop();
cout << item;
}
}
main() {
int num;
cout << "Enter a number: ";
cin >> num;
dec_to_bin(num);
}
আউটপুট
Enter a number: 18 10010