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

चार क्रमबद्ध सरणियों से चौगुनी गिनें जिनका योग C++ में दिए गए मान x के बराबर है

हमें चार सरणियाँ दी गई हैं A[], B[], C[] और D[]। लक्ष्य इन सरणियों के सभी चौगुनी तत्वों को खोजना है जैसे कि A[i]+B[j]+C[k]+D[l] =x. सभी चार सरणियों में तत्वों की संख्या समान है N.

हम प्रत्येक सरणी को एक बार पार करके ऐसा करेंगे और तुलना करेंगे कि क्या A[i]+B[j]+C[j]+D[l]==x. अगर सही वेतन वृद्धि गिनती है।

आइए उदाहरणों से समझते हैं।

इनपुट

A[]={ 1,2,3}; B[]={ 2,3,2}; C[]={ 4,3,1}; D[]={ 3,1,1 }; X=12

आउटपुट

Count of Quadruples: 4

स्पष्टीकरण

Quadruples such as ( A[i] B[j] C[k] D[l] ) are:
(2 3 4 3) , (3 2 4 3), (3 3 3 3), (3 2 4 3)
Number of quadruples : 4

इनपुट

A[]={ 1,1,1}; B[]={ 2,2,2}; C[]={ 3,3,3}; D[]={ 4,4,4 }; X=15

आउटपुट

Count of Quadruples: 0

स्पष्टीकरण

No such elements could be paired.

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हम पूर्णांक सरणी ए [], बी [], सी [] और डी [] समान लंबाई के यादृच्छिक संख्याओं के साथ प्रारंभ करते हैं।

  • उनकी लंबाई को स्टोर करने के लिए वेरिएबल N लें।

  • फंक्शन काउंटक्वाड (इंट ए [], इंट बी [], इंट सी [], डी [], इंट एक्स, इंट एन) सभी सरणियों को उनकी समान लंबाई के साथ इनपुट के रूप में लेता है n और रिटर्न काउंट।

  • प्रत्येक सरणी के लिए चार लूप का उपयोग करके ट्रैवर्स करें।

  • सबसे बाहरी लूप 0<=i के लिए

  • तुलना करें कि क्या a[i]+b[j]+c[k]+d[l]==x. अगर सही वेतन वृद्धि गिनती है।

  • सभी लूपों के अंत में काउंट में योग x के साथ चौगुना होगा।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int countQuads(int a[],int b[],int c[],int d[],int x, int n){
   int count = 0;
   for (int i = 0; i < n; i++){
      for (int j = 0; j < n; j++){
         for (int k = 0; k < n; k++){
            for (int l = 0; l < n; l++){
               int sum=a[i]+b[j]+c[k]+d[l];
               if(sum==x){
                  count++;
                  cout<<endl<<a[i]<<" "<<b[j]<<" "<<c[k]<<" "<<d[l];}
               }
            }
         }
      }
   return count;
}
int main(){
   int A[]={ 1,1,1}; int B[]={ 2,2,2}; int C[]={ 3,3,3}; int D[]={ 4,4,4 };
   int X=15;
   int N=3; //length of each array
   cout <<endl<< "Number of quadruples : "<<countQuads(A,B,C,D,X,N);
   return 0;
}

आउटपुट

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

Number of quadruples : 0

  1. एक क्रमबद्ध दोगुनी लिंक की गई सूची में ट्रिपल की गणना करें जिसका योग C++ में दिए गए मान x के बराबर है

    उदाहरण के लिए इनपुट linked list: [ 3−4−13−5−10−10−0 ] x=20 आउटपुट Count of triplets in a sorted doubly linked list whose product is equal to a given value x are: 2 स्पष्टीकरण Triplets will be: ( 3,4,13 ) and ( 10,10,0 ) इनपुट linked list: [ 4−3−1&minu

  1. एक क्रमबद्ध डबल लिंक्ड सूची में ट्रिपल गिनें जिसका उत्पाद सी ++ में दिए गए मान x के बराबर है

    पूर्णांक मानों वाली एक क्रमबद्ध डबल लिंक्ड सूची को देखते हुए। लक्ष्य उन त्रिगुणों को खोजना है जिनका गुणनफल दिए गए मान x के बराबर है। यदि इनपुट लिंक्ड सूची 3−4−1−2 है और x 6 है तो गिनती 1 (ट्रिपलेट (3,1,2)) होगी उदाहरण के लिए इनपुट linked list: [ 200−4−16−5−10−10&min

  1. दो बीएसटी से जोड़े की गणना करें जिनकी राशि सी ++ में दिए गए मान x के बराबर है

    हमें इनपुट के रूप में दो बाइनरी सर्च ट्री और एक वेरिएबल x दिया गया है। लक्ष्य प्रत्येक पेड़ से नोड्स के जोड़े को ढूंढना है ताकि नोड्स के मूल्य का योग x के बराबर हो। BST_1 से नोड 1 और BST_2 से नोड 2 लें और दोनों का डेटा भाग जोड़ें। यदि योग =x. वेतन वृद्धि की संख्या। आइए उदाहरणों से समझते हैं। इनपुट