सरणी एक डेटा संरचना है जो एक ही डेटा प्रकार के कई तत्वों को संग्रहीत करती है। यह मूल्यों के पूरे सेट को एक साथ स्टोर कर सकता है। लेकिन इसकी लंबाई पहले से तय करने की जरूरत है।
इस योग सरणी पहेली में, हमें एक निश्चित आकार, मान लीजिए n की एक सरणी A1 दी गई है। इस पहेली को हल करने के लिए, हम S1 नामक एक सरणी बनाएंगे जो उस तत्व को छोड़कर सरणी के सभी तत्वों के योग को संग्रहीत करती है जिसकी स्थिति का उपयोग किया जा रहा है। उदाहरण के लिए, यदि S1[3] की गणना की जा रही है, तो हम A1 के सभी तत्वों का योग पाएंगे, केवल स्थिति 4 वाले तत्व को छोड़कर।
उदाहरण -
Array A1 = {1,2,3,4,6} Output S1 = {15,14,13,12,10}
स्पष्टीकरण - योग सरणी की गणना करने के लिए, हम प्रारंभिक सरणी के प्रत्येक तत्व को योग चर में जोड़ देंगे, उस मान को स्वीकार करते हैं जिसमें योग सरणी के समान संख्या होती है। जिसका अर्थ है कि योग सरणी के पहले तत्व के लिए हम सरणी के पहले तत्व को छोड़कर सभी तत्वों के योग की गणना करेंगे, और पूरे सरणी के लिए समान। आइए इस तर्क का उपयोग करके योग सरणी के प्रत्येक तत्व के मानों की गणना करें।
योग [0], हम 0 वें पर तत्व को छोड़कर तत्वों के योग की गणना करेंगे अनुक्रमणिका। तो ,
योग [0] =2+3+4+6 =15
इसी तरह, हम योग के मूल्य की गणना करेंगे[1]...
योग[1] =1+3+4+6 =14
योग[2] =1+2+4+6 =13
योग [3] =1+2+3+6 =12
योग[4] =1+2+3+4 =10
तो, योग सरणी के सभी तत्व तैयार नहीं हैं और योग सरणी योग ={15,14,13,12,10}
हैएल्गोरिदम
Step 1 : Initialise a sum array sum[n] to zero, where n = size of the original array. Step 2 : Iterate over sum[] and do : Step 2.1 : For sum[i], run a for loop for j -> 0 to n Step 2.2 : if(i != j) {sum[i] += arr[j] } Step 3: Print sum array using std print statement.
उदाहरण
#include <iostream> using namespace std; int main() { int arr[] = { 3, 6, 4, 8, 9 }; int n = sizeof(arr) / sizeof(arr[0]); int leftSum[n], rightSum[n], Sum[n], i, j; leftSum[0] = 0; rightSum[n - 1] = 0; cout<<"The original array is : \n"; for (i = 0; i < n; i++) cout << arr[i] << " "; for (i = 1; i < n; i++) leftSum[i] = arr[i - 1] + leftSum[i - 1]; for (j = n - 2; j >= 0; j--) rightSum[j] = arr[j + 1] + rightSum[j + 1]; for (i = 0; i < n; i++) Sum[i] = leftSum[i] + rightSum[i]; cout<<"\nThe sum array is : \n"; for (i = 0; i < n; i++) cout << Sum[i] << " "; return 0; }
आउटपुट
The original array is : 3 6 4 8 9 The sum array is : 27 24 26 22 21