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

C++ में सम ऐरे पजल (बिना घटाव ऑपरेटर के)

यहां हम ऐरे से संबंधित एक रोचक समस्या देखेंगे। n तत्वों वाला एक ऐरे है। हमें n तत्वों का एक और ऐरे बनाना है। लेकिन दूसरे ऐरे का i-th स्थान पहले ऐरे के i-th तत्व को छोड़कर सभी तत्वों का योग रखेगा। और एक प्रतिबंध है कि हम इस समस्या में घटाव ऑपरेटर का उपयोग नहीं कर सकते।

यदि हम घटाव ऑपरेशन का उपयोग कर सकते हैं, तो हम इस समस्या को आसानी से हल कर सकते हैं, सभी तत्वों का योग प्राप्त करके, फिर पहले ऐरे के i-th तत्व को घटाकर दूसरे ऐरे के i-th स्थान में स्टोर कर सकते हैं।

यहां हम हर बार तत्वों को जोड़कर हल कर रहे हैं, और i स्थिति के तत्व को अनदेखा कर रहे हैं, i के लिए 0 से n-1 तक। एल्गोरिदम देखें।

एल्गोरिदम

sumArray(arr, n)

begin
    res नामक आकार n का एक ऐरे परिभाषित करें
    arr के सभी तत्वों i के लिए, do
        sum := 0
        arr के सभी तत्वों j के लिए, do
            यदि i और j समान नहीं हैं, तो
                sum := sum + arr[j]
            end if
        done
        res[i] = sum
    done
    return res
end

उदाहरण

#include <iostream>
using namespace std;

void printArray(int arr[], int n) {
    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
}

void sumArray(int arr[], int resArr[], int n) {
    for (int i = 0; i < n; i++) {
        int sum = 0;
        for (int j = 0; j < n; j++) {
            if (i != j) {
                sum += arr[j];
            }
        }
        resArr[i] = sum;
    }
}

int main() {
    int myArr[7] = {5, 4, 7, 6, 9, 2, 3};
    int resArr[7];
    cout << "Initial Array: ";
    printArray(myArr, 7);
    sumArray(myArr, resArr, 7);
    cout << "Final Array: ";
    printArray(resArr, 7);
    return 0;
}

आउटपुट

Initial Array: 5 4 7 6 9 2 3
Final Array: 31 32 29 30 27 34 33
  1. - C++ STL में सरणी का योग (Array Sum)

    सरणी योग ज्ञात करने के तरीके 1. शास्त्रीय विधि (लूप) सभी तत्वों पर पुनरावृति करके योग निकालें। int arr[] = {2, 5, 7, 8, 2, 6, 9}; int n = 7, sum = 0; for (int i = 0; i < n; i++) sum += arr[i]; // Output: 39 2. accumulate() फंक्शन ( हेडर) STL का बिल्ट-इन फंक्शन। #include <numeric> int su

  1. - C++ सम एरे पहेली (Sum Array Puzzle)

    एरे (Array) एक डेटा संरचना है जो समान डेटा प्रकार के कई तत्वों को संग्रहीत करती है। यह एक बार में मानों का पूरा सेट संग्रहीत कर सकता है। लेकिन इसकी लंबाई पहले से परिभाषित होनी चाहिए। इस सम एरे पहेली में, हमें एक निश्चित आकार का एरे A1 दिया जाता है, मान लीजिए n। इस पहेली को हल करने के लिए, हम S1 नाम

  1. - C++ में प्रोडक्ट ऐरे पजल (अतिरिक्त स्पेस के साथ)

    यहां हम ऐरे से संबंधित एक रोचक समस्या देखेंगे। n तत्वों वाला एक ऐरे है। हमें n तत्वों का एक और ऐरे बनाना है। लेकिन दूसरे ऐरे का i-th स्थान पहले ऐरे के i-th तत्व को छोड़कर सभी तत्वों का गुणनफल रखेगा। और एक प्रतिबंध है कि हम इस समस्या में भाग ऑपरेटर का उपयोग नहीं कर सकते। यदि हम भाग ऑपरेशन का उपयोग क