Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में अंकों के एरे के रूप में दर्शाई गई संख्या में एक जोड़ना


एरे के रूप में दर्शाई गई संख्या संख्या के प्रत्येक अंक को एरे के एक तत्व में संग्रहीत करती है। एरे की लंबाई एरे में अंकों की संख्या के बराबर होती है यानी चार अंकों की संख्या के लिए लंबाई = 3। एरे का प्रत्येक तत्व एक अंक की संख्या है। संख्या इस तरह से संग्रहीत होती है कि अंतिम तत्व संख्या का सबसे कम महत्वपूर्ण अंक संग्रहीत करता है। और पहला तत्व संख्या का सबसे महत्वपूर्ण अंक संग्रहीत करता है। उदाहरण के लिए,

संख्या - 351932 को {3,5,1,9,3,2} के रूप में संग्रहीत किया जाता है

इस संख्या में एक जोड़ने के लिए आपको एरे के अंतिम तत्व में एक जोड़ना होगा और फिर जांचना होगा कि क्या किसी कैरी को प्रसारित करने की आवश्यकता है या नहीं। यदि अंतिम बिट पर संख्या 9 है तो एक कैरी प्रसारित होती है और अंतिम तत्व का मान 0 हो जाता है।

यदि कैरी प्रसारित होती है, तो (n-1) स्थिति पर तत्व एक से बढ़ जाता है और कैरी प्रसार की जांच की जाती है। उदाहरण के लिए

{3,5,7,9} में एक जोड़ने पर {3,5,8,0} मिलता है। यहां, एक कैरी प्रसारित होती है और सात का मान 8 हो जाता है।

उदाहरण

#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] = a[n-1] % 10;
    for (int i = n-2; i >= 0; i--) {
        if (carry == 1) {
            a[i] += 1;
            carry = a[i]/10;
            a[i] = 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 i = 0; i < num.size(); i++)
        cout << num[i];
    cout << endl;
    addone(num);
    cout << "The incremented value is : ";
    for (int i = 0; i < num.size(); i++)
        cout << num[i];
    return 0;
}

आउटपुट

The original number is 2399
The incremented value is 2400

  1. - C++ प्रोग्राम: N अंकों की संख्या ज्ञात करना जो D से विभाज्य हो

    मान लें हमारे पास दो संख्याएं N और D हैं। हमें N अंकों की संख्या ज्ञात करनी है, जो D से विभाज्य हो। यदि N 3 है, और D 5 है, तो संख्या 500 हो सकती है। इसे आसानी से हल किया जा सकता है। यदि D 10 है और N 1 है, तो यह असंभव होगा। हम D रख सकते हैं, और मान लें D में m अंक हैं, फिर N - m संख्या में 0 जोड़कर इ

  1. - C++ में जांचें कि संख्या दिए गए अंकों में किसी आधार में प्रदर्शित हो सकती है या नहीं

    समस्या विवरण संख्या n और अंकों की संख्या d दी गई है। जांचें कि क्या n को आधार 2 से 32 में से किसी में d अंकों में प्रदर्शित किया जा सकता है। उदाहरण: n=8, d=4 → बाइनरी में 1000 (4 अंक) → YES एल्गोरिदम आधार 2 से 32 तक जांचें यदि n < आधार और d==1 → true 1 → पुनरावर्ती रूप से n/आधार और d-1 के साथ जा

  1. - C++ में इंटीजर का वन्स कॉम्प्लीमेंट खोजें

    इस सेक्शन में, हम देखेंगे कि इंटीजर का 1s कॉम्प्लीमेंट कैसे खोजें। हम कॉम्प्लीमेंट ऑपरेटर का उपयोग करके यह कार्य बहुत तेजी से कर सकते हैं, लेकिन यह 32-बिट कॉम्प्लीमेंटेड वैल्यू बनाएगा (4-बाइट इंटीजर)। यहां हम n-बिट नंबर्स का कॉम्प्लीमेंट चाहते हैं।मान लीजिए हमारे पास एक नंबर है जैसे 22। इसका बाइनरी