প্রদত্ত দুটি অ্যারে arr1[] এবং arr2[] যথাক্রমে n1 এবং n2 আকারের, আমাদেরকে প্রথম অ্যারের অ্যারের সর্বোচ্চ উপাদানের গুণফল খুঁজে বের করতে হবে[] এবং দ্বিতীয়টির সর্বনিম্ন উপাদান অ্যারে arr2[]।
যেমন আমাদের arr1 এ উপাদান রয়েছে[] ={5, 1, 6, 8, 9} এবং arr2 [] ={2, 9, 8, 5, 3} তাই arr1-এ সর্বাধিক উপাদান হল 9 এবং সর্বনিম্ন উপাদান arr2 হল 2 তাই উভয়ের গুণফল হল 9*2 =18, একইভাবে প্রদত্ত সমস্যা সমাধানের জন্য আমাদের একটি প্রোগ্রাম লিখতে হবে।
ইনপুট
arr1[] = {6, 2, 5, 4, 1}
arr2[] = {3, 7, 5, 9, 6} আউটপুট
18
ব্যাখ্যা
MAX(arr1) * MIN(arr2) → 6 * 3 = 18
ইনপুট
arr1[] = { 2, 3, 9, 11, 1 }
arr2[] = { 5, 4, 2, 6, 9 } আউটপুট
22
ব্যাখ্যা
MAX(arr1) * MIN(arr2) → 11 * 2 = 22
সমস্যা সমাধানের জন্য নিচের পদ্ধতিটি ব্যবহার করা হয়েছে
-
আমরা ইনপুট হিসাবে দুটি অ্যারে arr1 এবং arr2 করব
-
আমরা উভয় অ্যারেকে আরোহী ক্রমে সাজাব।
-
আমরা arr1 এর শেষ উপাদান (সর্বোচ্চ উপাদান) এবং arr2 এর প্রথম উপাদান (সর্বনিম্ন উপাদান) গুণ করব।
-
পণ্যটি ফেরত দিন।
অ্যালগরিদম
Start
In function int sortarr(int arr[], int n)
Step 1→ Declare and initialize temp
Step 2→ For i = 0 and i < n-1 and ++i
For j = i+1 and j<n and j++
If arr[i]> arr[j] then,
Set temp as arr[i]
Set arr[i] as arr[j]
Set arr[j] as temp
In Function int minMaxProduct(int arr1[], int arr2[], int n1, int n2)
Step 1→ Call sortarr(arr1, n1)
Step 2→ Call sortarr(arr2, n2)
Step 3→ Return (arr1[n1 - 1] * arr2[0])
In Function int main()
Step 1→ Declare and Initialize arr1[] = { 2, 3, 9, 11, 1 }
Step 2→ Declare and Initialize arr2[] = { 5, 4, 2, 6, 9 }
Step 3→ Declare and Initialize n1, n2 and initialize the size of both arrays
Step 4→ Print minMaxProduct (arr1, arr2, n1, n2))
Stop উদাহরণ
#include <stdio.h>
int sortarr(int arr[], int n){
int temp;
for (int i = 0; i < n-1; ++i){
for(int j = i+1; j<n; j++){
if(arr[i]> arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return 0;
}
int minMaxProduct(int arr1[], int arr2[], int n1, int n2){
// Sort the arrays to get
// maximum and minimum
sortarr(arr1, n1);
sortarr(arr2, n2);
// Return product of
// maximum and minimum.
return arr1[n1 - 1] * arr2[0];
}
int main(){
int arr1[] = { 2, 3, 9, 11, 1 };
int arr2[] = { 5, 4, 2, 6, 9 };
int n1 = sizeof(arr1) / sizeof(arr1[0]);
int n2 = sizeof(arr1) / sizeof(arr1[0]);
printf("%d\n",minMaxProduct (arr1, arr2, n1, n2));
return 0;
} আউটপুট
উপরের কোডটি চালালে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবে22