কম্পিউটার

C++ এ প্রদত্ত তিনটি সাজানো অ্যারে থেকে তিনটি নিকটতম উপাদান খুঁজুন


ধরুন আমাদের তিনটি সাজানো অ্যারে A, B এবং C এবং A, B এবং C থেকে যথাক্রমে i, j এবং k তিনটি উপাদান আছে যাতে সর্বোচ্চ(|A[i] – B[i]|, |B[j] – C [k]|, |C[k] – A[i]|) ছোট করা হয়েছে৷ সুতরাং যদি A =[1, 4, 10], B =[2, 15, 20], এবং C =[10, 12] হয়, তাহলে আউটপুট উপাদানগুলি হল 10, 15, 10, এই তিনটি A, B এবং C থেকে।

ধরুন A, B এবং C এর আকার যথাক্রমে p, q এবং r। এখন এই −

সমাধানের জন্য এই ধাপগুলি অনুসরণ করুন
  • i :=0, j :=0 এবং k :=0
  • এখন i

    করার সময় নিম্নলিখিতটি করুন

  • A[i], B[j] এবং C[k] এর সর্বনিম্ন এবং সর্বোচ্চ খুঁজুন
  • পার্থক্য গণনা করুন :=সর্বোচ্চ(এক্স, ওয়াই, জেড) - মিনিট(এ[আই], বি[জে], সি[কে])
  • যদি ফলাফল বর্তমান ফলাফলের চেয়ে কম হয়, তাহলে এটিকে নতুন ফলাফলে পরিবর্তন করুন
  • সর্বনিম্ন আছে এমন অ্যারের পয়েন্টার বৃদ্ধি করুন।

উদাহরণ

#include <iostream>
using namespace std;
void getClosestElements(int A[], int B[], int C[], int p, int q, int r) {
   int diff = INT_MAX;
   int i_final =0, j_final = 0, k_final = 0;
   int i=0,j=0,k=0;
   while (i < p && j < q && k < r) {
      int min_element = min(A[i], min(B[j], C[k]));
      int max_element = max(A[i], max(B[j], C[k]));
      if (max_element-min_element < diff){
         i_final = i, j_final = j, k_final = k;
         diff = max_element - min_element;
      }
      if (diff == 0)
         break;
      if (A[i] == min_element)
         i++;
      else if (B[j] == min_element)
         j++;
      else
         k++;
   }
   cout << A[i_final] << " " << B[j_final] << " " << C[k_final];
}
int main() {
   int A[] = {1, 4, 10};
   int B[] = {2, 15, 20};
   int C[] = {10, 12};
   int p = sizeof A / sizeof A[0];
   int q = sizeof B / sizeof B[0];
   int r = sizeof C / sizeof C[0];
   cout << "Closest elements are: ";
   getClosestElements(A, B, C, p, q, r);
}

আউটপুট

Closest elements are: 10 15 10

  1. C++ এ একটি প্রদত্ত মানের k নিকটতম উপাদান খুঁজুন

  2. C++ এ প্রদত্ত অ্যারের উপাদানগুলির ফ্যাক্টোরিয়ালের GCD খুঁজুন

  3. তিনটি সাজানো অ্যারেতে সাধারণ উপাদান খুঁজে পেতে C# প্রোগ্রাম

  4. জাভা প্রোগ্রাম দুটি সাজানো অ্যারে থেকে নিকটতম জুটি খুঁজে বের করতে