हमें चार सरणियाँ दी गई हैं 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