हमें चार सरणी A[], B[], C[] और D[] दी गई हैं। लक्ष्य इन सरणियों के तत्वों के सभी चौगुनी ढूंढना है जैसे कि A[i]+B[j]+C[k]+D[l] = x। चारों सरणियों में तत्वों की संख्या समान N है।
हम इसे प्रत्येक सरणी को एक बार पार करके और तुलना करके करेंगे यदि A[i]+B[j]+C[k]+D[l]==x। यदि सत्य है तो काउंट बढ़ाएं।
उदाहरण से समझते हैं
इनपुट
A[]={ 1,2,3}; B[]={ 2,3,2}; C[]={ 4,3,1}; D[]={ 3,1,1 }; X=12 आउटपुट
चौगुनी की संख्या: 4
व्याख्या
(A[i] B[j] C[k] D[l]) जैसे चौगुनी हैं: (2 3 4 3), (3 2 4 3), (3 3 3 3), (3 2 4 3) चौगुनी की संख्या: 4
इनपुट
A[]={ 1,1,1}; B[]={ 2,2,2}; C[]={ 3,3,3}; D[]={ 4,4,4 }; X=15 आउटपुट
चौगुनी की संख्या: 0
व्याख्या
ऐसे कोई तत्व नहीं मिल सके जिन्हें जोड़ा जा सके।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
हम समान लंबाई के पूर्णांक सरणी A[], B[], C[] और D[] को यादृच्छिक संख्याओं से आरंभ करते हैं।
चर N लें उनकी लंबाई संग्रहीत करने के लिए।
फ़ंक्शन countQuad(int a[],int b[],int c[],int d[],int x, int 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; //प्रत्येक सरणी की लंबाई cout <<endl<< "चौगुनी की संख्या: "<<countQuads(A,B,C,D,X,N); return 0; } आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -
चौगुनी की संख्या: 0