সমস্যা
একটি দেওয়া ইন্টিজারে সব শূন্য (0) কে ১ দিয়ে রিপ্লেস করার প্রোগ্রাম লিখুন।
একটি ইন্টিজার ইনপুট হিসেবে দেওয়া হলে, সংখ্যাটিতে থাকা সব ০ কে ১ দিয়ে রিপ্লেস করতে হবে।
সমাধান
নিচের উদাহরণটি বিবেচনা করুন:
ইনপুট: ১০২৪১০, আউটপুট: ১১২৪১১।
অ্যালগরিদম
একটি ইন্টিজারে সব ০ কে ১ দিয়ে রিপ্লেস করার অ্যালগরিদম নিচে দেওয়া হলো:
স্টেপ ১ - ব্যবহারকারідের কাছ থেকে ইন্টিজার ইনপুট নিন।
স্টেপ ২ - ডিজিট বাই ডিজিট ইন্টিজার ট্রুভার্স করুন।
স্টেপ ৩ - যদি '০' পাওয়া যায়, তবে এটি '১' দিয়ে রিপ্লেস করুন।
স্টেপ ৪ - ইন্টিজারটি প্রিন্ট করুন।
উদাহরণ
দেওয়া ইন্টিজারে সব ০ কে ১ দিয়ে রিপ্লেস করার C প্রোগ্রাম:
#include<stdio.h> int replace(long int number){ if (number == 0) return 0; //check last digit and change it if needed int digit = number % 10; if (digit == 0) digit = 1; // Convert remaining digits and append to its last digit return replace(number/10) * 10 + digit; } int Convert(long int number){ if (number == 0) return 1; else return replace(number); } int main(){ long int number; printf("\nEnter any number : "); scanf("%d", &number); printf("\nAfter replacement the number is : %dn", Convert(number)); return 0; }
আউটপুট
উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুটটি দেখায়:
Enter any number: 1056110010 After replacement the number is: 1156111111