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

दिए गए प्रतिबंधों के साथ दो ऐरे के तत्वों को जोड़ें

यहां हम एक समस्या देखेंगे। हम दो ऐरे के तत्वों को जोड़ेंगे और उन्हें दूसरे ऐरे में स्टोर करेंगे। लेकिन हम कुछ प्रतिबंधों का पालन करेंगे। ये प्रतिबंध इस प्रकार हैं:

  • जोड़ दोनों ऐरे के 0वें सूचकांक से शुरू होना चाहिए
  • यदि योग एक से अधिक अंक की संख्या है, तो अंकों को विभाजित करें और प्रत्येक अंक को संबंधित स्थानों पर रखें
  • बड़े इनपुट ऐरे के शेष अंकों को आउटपुट ऐरे में स्टोर किया जाएगा

एल्गोरिदम

addArrayConstraints(arr1, arr2)

शुरुआत
    खाली वेक्टर out परिभाषित करें
    i := 0
    जब तक i, arr1.length और arr2.length दोनों से कम है, करें
        add := arr1[i] + arr2[i]
        यदि add एक अंक की संख्या है, तो
            out में add डालें
        अन्यथा
            अंकों को विभाजित करें और प्रत्येक अंक को out में डालें
        यदि समाप्त
    पूर्ण
    जब तक arr1 समाप्त नहीं होता, करें
        प्रत्येक तत्व को सीधे out में डालें यदि वे एक अंक के हैं, अन्यथा विभाजित करके डालें
    जब तक arr2 समाप्त नहीं होता, करें
        प्रत्येक तत्व को सीधे out में डालें यदि वे एक अंक के हैं, अन्यथा विभाजित करके डालें
समाप्त

उदाहरण

#include <iostream>
#include <vector>
using namespace std;

void splitDigit(int num, vector<int> &out) {
    vector<int> arr;
    while (num) {
        arr.insert(arr.begin(), num % 10);
        num = num / 10;
    }
    out.insert(out.end(), arr.begin(), arr.end());
}

void addArrayConstraints(int arr1[], int arr2[], int m, int n) {
    vector<int> out;
    int i = 0;
    while (i < m && i < n) {
        int add = arr1[i] + arr2[i];
        if (add < 10)
            out.push_back(add);
        else
            splitDigit(add, out);
        i++;
    }
    while (i < m)
        splitDigit(arr1[i++], out);
    while (i < n)
        splitDigit(arr2[i++], out);
    for (int i = 0; i < out.size(); i++)
        cout << out[i] << " ";
}

int main() {
    int arr1[] = {9323, 8, 6, 55, 25, 6};
    int arr2[] = {38, 11, 4, 7, 8, 7, 6, 99};
    int n1 = sizeof(arr1) / sizeof(arr1[0]);
    int n2 = sizeof(arr2) / sizeof(arr2[0]);
    addArrayConstraints(arr1, arr2, n1, n2);
    return 0;
}

आउटपुट

9 3 6 1 1 9 1 0 6 2 3 3 1 3 6 9 9
  1. - अभाज्य आवृत्ति वाले ऐरे तत्व

    मान लीजिए हमारे पास एक ऐरे है। हमें गिनना है कि ऐरे में मौजूद कितने तत्व अभाज्य संख्या में बार आए हैं। यदि ऐरे है {1, 2, 2, 0, 1, 5, 2, 5, 0, 0, 1, 1}, तो 1 चार बार आया, 2 तीन बार आया, 0 तीन बार आया, और 5 दो बार आया। तो तीन तत्व {2, 0, 5} हैं जो अभाज्य संख्या में बार आए हैं। तो गिनती 3 होगी। एल्गोरि

  1. - दिए गए संख्या में 1 जोड़ना

    दिए गए संख्या में 1 जोड़ने का प्रोग्राम वेरिएबल के मान को 1 से बढ़ाता है। यह आमतौर पर काउंटर में उपयोग किया जाता है। दिए गए संख्या को 1 से बढ़ाने के लिए 2 विधियां हैं: संख्या में 1 जोड़कर उसे फिर से वेरिएबल को असाइन करना। प्रोग्राम में इन्क्रीमेंट ऑपरेटर का उपयोग करना। विधि 1 - पुनः असाइनमेंट वि

  1. C/C++ में मल्टीडायमेंशनल ऐरे C/C++ में मल्टीडायमेंशनल ऐरे

    C/C++ में, मल्टीडायमेंशनल ऐरे को सरल शब्दों में ऐरे के ऐरे के रूप में परिभाषित किया जाता है। मल्टीडायमेंशनल ऐरे में डेटा टेबुलर फॉर्म में स्टोर होता है (रो मेजर ऑर्डर में)। निम्नलिखित डायग्राम 3 x 3 x 3 डायमेंशन वाले मल्टीडायमेंशनल ऐरे के लिए मेमोरी आवंटन रणनीति दिखाता है। एल्गोरिदम Begin ऐर