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

C++ में दी गई श्रेणी में तत्वों के योग के साथ योग-सरणी का निर्माण करें


एक सरणी को देखते हुए arr[ ] जिसमें केवल पूर्णांक और एक विषम संख्या योग है। लक्ष्य एक योग सरणी बनाना है arr_2[ ] ऐसे प्रत्येक arr_2[i] arr के पिछले योग/2 तत्वों का योग है [] + arr [i] + अगला योग/2 arr के तत्व []। अगर योग 1 है तो arr_2[i]=arr[i]

उदाहरण के लिए

इनपुट

arr[] = { 4, 1, 7, 5, 2, 9} sum=3

आउटपुट

Construction of sum-array with sum of elements in given range are: 5 12 13 14
16 17 17 9 3

स्पष्टीकरण

The sum array is constructed as:
arr_2[0]=arr[0]+arr[1] = 4+1 = 5
arr_2[1]=arr[0]+arr[1]+arr[2] = 4+1+7 = 12
arr_2[2]=arr[1]+arr[2]+arr[3] = 1+7+5 = 13
arr_2[3]=arr[2]+arr[3]+arr[4] = 7+5+2 = 14
arr_2[4]=arr[3]+arr[4]+arr[5] = 5+2+9 = 16
arr_2[5]=arr[4]+arr[5] = 2+9 = 11s

इनपुट

arr[] = { 1,2,3,4,5 } sum=5

आउटपुट

Construction of sum-array with sum of elements in given range are − 6 10 15 14
12
. है

स्पष्टीकरण

The sum array is constructed as:
arr_2[0]=arr[0]+arr[1]+arr[2] = 1+2+3 = 6
arr_2[1]=arr[0]+arr[1]+arr[2]+arr[3] = 1+2+3+4= 10
arr_2[2]=arr[0]+arr[1]+arr[2]+arr[3]+arr[4] = 1+2+3+4+5 = 15
arr_2[3]=arr[1]+arr[2]+arr[3]+arr[4] = 2+3+4+5= 14
arr_2[4]=arr[2]+arr[3]+arr[4]= 3+4+5 = 12

नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है -

इस दृष्टिकोण में हम स्लाइडिंग विंडो अवधारणा का उपयोग करेंगे। पिछले विंडो योग में अगला सबसे दाहिना तत्व जोड़ें और उसमें से सबसे बाएं तत्व को हटा दें।

  • इनपुट के रूप में एक पूर्णांक सरणी arr[] और एक मान योग लें।

  • फ़ंक्शन sum_array(int arr[], int size, int sum) दी गई श्रेणी में तत्वों के योग के साथ योग-सरणी लौटाता है।

  • प्रारंभिक गणना 0 के रूप में लें।

  • योग सरणी को arr_2[size] के रूप में लें।

  • अस्थायी =योग / 2 + 1. लें।

  • गिनने के लिए 0 से अस्थायी तत्वों की अस्थायी संख्या जोड़ें। और arr_2[0] को गिनती के रूप में सेट करें।

  • योग सरणी के अगले तत्वों के लिए, लूप के लिए i=1 से i<आकार तक का उपयोग करके ट्रैवर्स करें।

  • temp_1 =i − (योग / 2) − 1 लें। अगर यह>=0 है तो arr[temp_1] को गिनती से घटाएं।

  • temp_2 =i + (योग/2) लें। अगर यह <आकार है तो गिनने के लिए arr[temp_2] जोड़ें।

  • arr_2[i] =गिनती सेट करें।

  • लूप के अंत में हमारे पास arr_2[] योग सरणी के रूप में होगा।

  • लूप के लिए योग सरणी arr_2[] का उपयोग करके प्रिंट करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void sum_array(int arr[], int size, int sum){
   int count = 0;
   int arr_2[size];
   int temp = sum / 2 + 1;
   for (int i = 0; i < temp; i++){
      count = count + arr[i];
   }
   arr_2[0] = count;
   for (int i = 1; i < size; i++){
      int temp_1 = i − (sum / 2) − 1;
      if (temp_1 >= 0){
         count = count − arr[temp_1];
      }
      int temp_2 = i + (sum / 2);
      if (temp_2 < size){
         count = count + arr[temp_2];
      }
      arr_2[i] = count;
   }
   cout<<"Construction of sum−array with sum of elements in given range are: ";
   for (int i = 0; i < size; i++){
      cout<< arr_2[i] << " ";
   }
}
int main(){
   int arr[] = { 4, 1, 7, 5, 2, 9, 6, 2, 1 };
   int sum = 3;
   int size = sizeof(arr) / sizeof(int);
   sum_array(arr, size, sum);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Construction of sum-array with sum of elements in given range are − 5 12 13 14 16 17 17 9 3

  1. C++ में दिए गए योग के साथ सभी ट्रिपल प्रिंट करें

    इस समस्या में, हमें अद्वितीय पूर्णांकों की एक सरणी और एक योग दिया जाता है। और हमें उन त्रिगुणों को खोजना है जो समान योग बना सकते हैं। आइए समस्या को हल करने के लिए एक उदाहरण लेते हैं - Input : array = {0 , 2 , -1 , 1, -2} Sum = 1 Output : 1 2 -2 0 2 -1 इस समस्या को हल करने के लिए, हम योग प्रदान करन

  1. C++ में दिए गए योग के साथ सभी जोड़ियों को प्रिंट करें

    इस समस्या में, हमें पूर्णांकों की एक सरणी और एक पूर्णांक योग दिया जाता है और हमें पूर्णांकों के उन सभी युग्मों को प्रिंट करना होता है जिनका योग योग मान के बराबर होता है। समस्या को समझने के लिए एक उदाहरण लेते हैं: इनपुट − सरणी ={1, 6, -2, 3} योग =4 आउटपुट - (1, 3) , (6, -2) यहां, हमें दिए गए योग म

  1. सी ++ में दिए गए ऑपरेशन के साथ सरणी योग को अधिकतम करना

    विवरण (2 * n - 1) पूर्णांकों की एक सरणी है। हम सरणी में बिल्कुल n तत्वों का चिह्न बदल सकते हैं। दूसरे शब्दों में, हम बिल्कुल n सरणी तत्वों का चयन कर सकते हैं, और उनमें से प्रत्येक को -1 से गुणा कर सकते हैं। सरणी का अधिकतम योग ज्ञात करें। उदाहरण यदि इनपुट ऐरे {-2, 100, -3} है तो हम -2 और -3 के अधिक