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

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


हमें चार सरणी 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

  1. C++ में क्रमबद्ध डबल लिंक्ड सूची में दिए गए योग x वाले ट्रिपलेट की गिनती C++ में क्रमबद्ध डबल लिंक्ड सूची में दिए गए योग x वाले ट्रिपलेट की गिनती

    समस्या विवरण एक क्रमबद्ध डबल लिंक्ड सूची दी गई है जिसमें पूर्णांक मान हैं। लक्ष्य उन ट्रिपलेट को ढूंढना है जिनका योग दिए गए मान x के बराबर है। यदि इनपुट लिंक्ड सूची 3-4-1-2 है और x 6 है तो गिनती 1 होगी (ट्रिपलेट (3,1,2))। उदाहरण इनपुट linked list: [3-4-13-5-10-10-0] x=20 आउटपुट दिए गए योग x वाले

  1. C++ में क्रमबद्ध डबल लिंक्ड सूची में दिए गए गुणनफल x वाले ट्रिपलेट की गिनती C++ में क्रमबद्ध डबल लिंक्ड सूची में दिए गए गुणनफल x वाले ट्रिपलेट की गिनती

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

  1. दो BSTs से योग x वाले नोड जोड़ों की गणना - C++ दो BSTs से योग x वाले नोड जोड़ों की गणना - C++

    समस्या विवरण हमें दो बाइनरी सर्च ट्री (BST) और एक मान x दिया गया है। लक्ष्य उन नोड जोड़ों की गणना करना है जहाँ एक नोड पहले BST से और दूसरा दूसरे BST से हो, और उनके डेटा का योग x के बराबर हो। उदाहरण आउटपुट: 1 (जोड़ी: 8+6=14) आउटपुट: 2 (जोड़ियाँ: 5+15=20, 4+16=20) दृष्टिकोण पहले BST को इनऑर्डर (छोटे