কম্পিউটার টিউটোরিয়াল

চারটি সর্টেড অ্যারে থেকে নির্দিষ্ট যোগফল वाले কواد্রুপলেট গণনা C++-এ


চারটি অ্যারে A[], B[], C[], D[] দেওয়া আছে। লক্ষ্য হল এদের উপাদান নিয়ে যেসব কواد্রুপলেট (A[i]+B[j]+C[k]+D[l]) হল নির্দিষ্ট মান x, তাদের সংখ্যা বের করা। চারটি অ্যারের দৈর্ঘ্য সমান N।

চারটি নেস্টেড লুপ দিয়ে সব কোম্বিনেশন চেক করা হয়। যোগফল x হলে কাউন্ট বাড়ানো হয়।

উদাহরণ

ইনপুট: A[]={1,2,3}, B[]={2,3,2}, C[]={4,3,1}, D[]={3,1,1}, X=12

আউটপুট: কواد্রুপলেটের সংখ্যা: ৪

ব্যাখ্যা: (2,3,4,3), (3,2,4,3), (3,3,3,3), (3,2,4,3)

ইনপুট: A[]={1,1,1}, B[]={2,2,2}, C[]={3,3,3}, D[]={4,4,4}, X=15

আউটপুট: কواد্রুপলেটের সংখ্যা: ০

প্রোগ্রামে ব্যবহৃত পদ্ধতি
  • চারটি সমান দৈর্ঘ্যের অ্যারে এবং x নেওয়া হয়।
  • countQuads(int a[], int b[], int c[], int d[], int x, int n) ফাংশন কواد্রুপলেট কাউন্ট রিটার্ন করে।
  • চারটি নেস্টেড লুপ (i,j,k,l) দিয়ে সব কোম্বিনেশন চেক করা হয়।
  • যদি a[i]+b[j]+c[k]+d[l] == x হয়, count বাড়ানো হয়।
  • শেষে count রিটার্ন করা হয়।
C++ কোড উদাহরণ
#include 
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;
}
আউটপুট

উপরোক্ত কোড রান করলে আউটপুট:

কواد্রুপলেটের সংখ্যা: ০
  1. বাইনারি ট্রিতে দেওয়া মান x-এর সমান যোগফল বিশিষ্ট সাবট্রি গণনা C++-এ

  2. C++-এ সর্টেড ডাবলি লিংকড লিস্টে যেসব ট্রিপলেটের যোগফল x সেটির সংখ্যা গণনা

  3. C++-এ সর্টেড ডাবলি লিংকড লিস্টে যেসব ট্রিপলেটের গুণফল x সেটির সংখ্যা গণনা

  4. C++-এ দুটি BST-র নোড জোড়া যাদের যোগফল x গণনা