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

सी ++ में अंकों की सरणी के रूप में प्रतिनिधित्व की गई संख्या में एक जोड़ना?

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

संख्या - 351932 {3,5,1,9,3,2}

. के रूप में संग्रहीत है

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

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

एक t0 {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. N अंक संख्या ज्ञात कीजिए जो C++ में D से विभाज्य है

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

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

    मान लीजिए कि हमारे पास एक संख्या n है, और अंकों की संख्या d है। हमें यह जांचना है कि संख्या n को 2 से 32 तक किसी भी आधार में d अंक संख्या के रूप में दर्शाया जा सकता है। मान लीजिए कि संख्या n 8 है, और d =4 है, तो इसे बाइनरी में 1000 के रूप में दर्शाया जा सकता है, यहां d 4 है। । विचार 2 से 32 तक सभी

  1. C++ में एक पूर्णांक का पूरक खोजें

    इस भाग में, हम देखेंगे कि किसी पूर्णांक का 1 पूर्ण कैसे ज्ञात किया जाता है। हम इस कार्य को बहुत तेजी से करने के लिए पूरक ऑपरेटर का उपयोग कर सकते हैं, लेकिन यह 32 बिट पूरक मूल्य (4-बाईप पूर्णांक) बना देगा। यहाँ हम n बिट संख्याओं का पूरक चाहते हैं। मान लीजिए कि हमारे पास एक संख्या 22 है। बाइनरी समकक्