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

C++ তে অ্যারে রিপ্রেজেন্টেড সংখ্যার সাথে ১ যোগ করা


সংখ্যাটি অ্যারে আকারে স্টোর করা থাকে, প্রতিটি ডিজিট আলাদা এলিমেন্টে। LSB (সবচোয় ডান) শেষে, MSB (সবচোয় বাম) প্রথমে।

উদাহরণ

Number: 351932 → Array: {3,5,1,9,3,2}
Add 1 to {3,5,7,9} → {3,5,8,0} (কারি প্রোপাগেট)

অ্যালগরিদম

  1. শেষ এলিমেন্টে ১ যোগ করুন।
  2. কারি = মান/১০, মান = মান%১০।
  3. বাম দিকে যেতে থাকুন, কারি থাকলে যোগ করুন।
  4. শেষে কারি থাকলে শুরুতে ১ ইনসার্ট করুন।

C++ কোড উদাহরণ

#include <bits/stdc++.h>
using namespace std;

void addone(vector<int> &a) {
    int n = a.size();
    a[n-1] += 1;
    int carry = a[n-1]/10;
    a[n-1] %= 10;
    for (int i = n-2; i >= 0; i--) {
        if (carry == 1) {
            a[i] += 1;
            carry = a[i]/10;
            a[i] %= 10;
        }
    }
    if (carry == 1) a.insert(a.begin(), 1);
}

int main() {
    vector<int> num{2, 3, 9, 9};
    cout << "The original number is : ";
    for (int d : num) cout << d;
    cout << endl;
    addone(num);
    cout << "The incremented value is : ";
    for (int d : num) cout << d;
    return 0;
}

আউটপুট

The original number is 2399
The incremented value is 2400
  1. C++-এ অ্যারে-তে প্রতিটি K-তম প্রাইম নম্বরের গুণফল

  2. সি++ প্রোগ্রাম: D দিয়ে বিভাজ্য N অঙ্কের সংখ্যা খুঁজে বের করা

  3. C++-এ একটি সংখ্যা দিয়ে गये ডিজিট সংখ্যক যেকোনো বেসে রিপ্রেজেন্ট করা যায় কিনা চেক করা

  4. C++-এ একটি ইন্টিজারর ওন'স কমপ্লিমেন্ট খুঁজে বের করা