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

C প্রোগ্রাম: একটি ডিজিটকে অন্য ডিজিট দিয়ে রিপ্লেস করা

একটি নম্বর n দেওয়া থাকলে, আমাদের ঐ নম্বর থেকে একটি ডিজিট x বের করে অন্য দেওয়া নম্বর m দিয়ে রিপ্লেস করতে হবে। আমাদের খুঁজে বের করতে হবে নম্বরটি দেওয়া নম্বরে আছে কিনা, যদি থাকে তবে সেই নির্দিষ্ট নম্বর x কে অন্য নম্বর m দিয়ে রিপ্লেস করব।

যেমন আমাদের নম্বর "123" দেওয়া এবং m = 5 এবং রিপ্লেস করার নম্বর x = "2", তবে রেজাল্ট হবে "153"।

উদাহরণ

ইনপুট: n = 983, digit = 9, replace = 6 আউটপুট: 683
ব্যাখ্যা: 983-এ 9 হলো প্রথম ডিজিট এবং আমাদের 9 কে 6 দিয়ে রিপ্লেস করতে হবে তাই রেজাল্ট 683।
ইনপুট: n = 123, digit = 5, replace = 4 আউটপুট: 123
ব্যাখ্যা: দেওয়া নম্বরে 5 ডিজিট নেই তাই রেজাল্ট নম্বর n-এর মতোই থাকবে।

নিচে ব্যবহৃত পদ্ধতি −

  • ইউনিট প্লেস থেকে শুরু করে নম্বরটি খুঁজে বের করব
  • যখন রিপ্লেস করার ডিজিটটি পাওয়া যাবে তবে রেজাল্টে (replace * d) যোগ করব যেখানে d = 1।
  • যদি নম্বরটি না পাওয়া যায় তবে সেটি যেনের মত রাখব।

অ্যালগরিদম

function int digitreplace(int n, int digit, int replace) এ
  ধাপ ১ → res=0, d=1, rem ডিক্লেয়ার ও ইনিশিয়ালাইজ
  ধাপ ২ → লুপ While(n)
    rem = n%10 সেট
    If rem == digit then,
      res = res + replace * d সেট
    Else
      res = res + rem * d সেট
      d *= 10;
      n /= 10;
    End Loop
  ধাপ ৩ → res প্রিন্ট
  End function
function int main(int argc, char const *argv[]) এ
  ধাপ ১ → n = 983, digit = 9, replace = 7 ডিক্লেয়ার ও ইনিশিয়ালাইজ
  ধাপ ২ → digitreplace(n, digit, replace) ফাংশন কল
Stop

উদাহরণ

#include <stdio.h>
int digitreplace(int n, int digit, int replace) {
    int res=0, d=1;
    int rem;
    while(n) {
        // পেছন থেকে রিমাইন্ডার বের করা
        rem = n%10;
        // চেক করা রিমাইন্ডার আমাদের রিপ্লেস করতে চাওয়া
        // ডিজিটের সমান কিনা। হ্যাঁ হলে রিপ্লেস।
        if(rem == digit)
            res = res + replace * d;
        // না হলে রিপ্লেস না করে একই ভাবে res-এ স্টোর।
        else
            res = res + rem * d;
        d *= 10;
        n /= 10;
    }
    printf("%d\n", res);
    return 0;
}
// main ফাংশন
int main(int argc, char const *argv[]) {
    int n = 983;
    int digit = 9;
    int replace = 7;
    digitreplace(n, digit, replace);
    return 0;
}

উপরের কোড রান করলে নিচের আউটপুট জেনারেট হবে −

783

  1. C প্রোগ্রাম: ম্যাট্রিক্স বিয়োগ (Subtraction of Matrices)

  2. C প্রোগ্রাম: আর্মস্ট্রং নাম্বার (Armstrong Number) যাচাই

  3. C প্রোগ্রাম: আয়তের 넓ী ও পরিসীমা (Area & Perimeter of Rectangle)

  4. C++ প্রোগ্রামে ডায়াগোনাল দৈর্ঘ্য দিয়ে হেক্সাগনের ক্ষেত্রফল