কম্পিউটার

C++ এ একটি অ্যারের বিটনোসিটি পরীক্ষা করার জন্য প্রোগ্রাম


N পূর্ণসংখ্যার একটি অ্যারে [N] দেওয়া, কাজটি হল প্রদত্ত অ্যারেটি বাইটোনিক কিনা তা পরীক্ষা করা। যদি প্রদত্ত অ্যারেটি বিটোনিক হয় তবে "হ্যাঁ এটি একটি বিটোনিক অ্যারে" প্রিন্ট করুন, অন্যথায় "না এটি একটি বিটোনিক অ্যারে নয়" প্রিন্ট করুন৷

একটি বিটোনিক অ্যারে হল যখন অ্যারেটি প্রথমে কঠোরভাবে বৃদ্ধির ক্রমে এবং তারপর কঠোরভাবে হ্রাসের ক্রমে থাকে৷

এই অ্যারের মতো অ্যারে[] ={1, 2, 3, 4, 2, -1, -5} হল একটি বিটোনিক অ্যারে, কারণ 4 পর্যন্ত এটি কঠোরভাবে ক্রমবর্ধমান ক্রমে এবং 4 এর পরে এটি কঠোরভাবে হ্রাসের ক্রমে থাকে।

C++ এ একটি অ্যারের বিটনোসিটি পরীক্ষা করার জন্য প্রোগ্রাম

ইনপুট

arr[] = {1, 3, 5, 4, 2, 0}

আউটপুট

Yes its a bitonic array

ব্যাখ্যা

1< 3 < 5 > 4 > 2 >0, so yes it is a bitonic array.

ইনপুট

arr[] = {1, 2, 3, 4, 5, 0, -1, -2, 6, -4}

আউটপুট

No its not a bitonic array

সমস্যা সমাধানের জন্য নিচের পদ্ধতিটি ব্যবহার করা হয়েছে

  • একটি অ্যারের প্রতিটি উপাদান পুনরাবৃত্তি করুন এবং পূর্ববর্তী উপাদানটি বর্তমান উপাদানের চেয়ে ছোট কিনা তা পরীক্ষা করুন৷

  • যখন পূর্ববর্তী উপাদান বর্তমান উপাদান বিরতি থেকে ছোট হয় না।

  • পূর্ববর্তী উপাদান বর্তমানের চেয়ে বড় কিনা তা পরীক্ষা করুন, অন্যথায় মিথ্যা ফেরত দিন এবং প্রস্থান করুন।

  • যদি একটি অ্যারের শেষে পৌঁছে যায় তাহলে সত্য ফেরত দিন।

অ্যালগরিদম

Start
Step 1→ Declare array to check for bitonicity of an array
   int check(int arr[], int size)
      declare int i, j
      Loop For i = 1 and i <size and i++
         IF (arr[i] > arr[i - 1])
            Continue
         End
         IF (arr[i] <= arr[i - 1])
            break
         End
         IF(i == size - 1)
            return 1
         End
         Loop For (j = i + 1 and j < size and j++
            IF (arr[j] < arr[j - 1])
               Continue
            End
            IF (arr[j] <= arr[j - 1])
               break
            End
         End
         Set i = j
         IF (i != size)
            return 0
         End
         return 1
Step 2→ In main()
   Declare int arr[] = { -3, 9, 11, 20, 17, 5, 1 }
   Declare int size = sizeof(arr) / sizeof(arr[0])
   Do (check(arr, size) == 1) ? cout << "Yes its a bitonic array" : cout << "no its not a bitonic array"
Stop

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
//function to check bitonic or not
int check(int arr[], int size){
   int i, j;
   for (i = 1; i < size; i++){
      if (arr[i] > arr[i - 1])
         continue;
      if (arr[i] <= arr[i - 1])
         break;
   }
   if (i == size - 1)
      return 1;
   for (j = i + 1; j < size; j++){
      if (arr[j] < arr[j - 1])
         continue;
      if (arr[j] >= arr[j - 1])
         break;
   }
   i = j;
   if (i != size)
      return 0;
   return 1;
}
int main(){
   int arr[] = { -3, 9, 11, 20, 17, 5, 1 };
   int size = sizeof(arr) / sizeof(arr[0]);
   (check(arr, size) == 1) ? cout << "Yes its a bitonic array" : cout << "no its not a bitonic array";
   return 0;
}

আউটপুট

উপরের কোডটি চালালে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Yes its a bitonic array

  1. একটি অ্যারে প্যালিনড্রোম কিনা বা C++ এ STL ব্যবহার করছে না তা পরীক্ষা করার জন্য প্রোগ্রাম

  2. C++ এ ম্যাট্রিক্স নিম্ন ত্রিভুজাকার কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. C++ এ ইনভোলুটরি ম্যাট্রিক্স চেক করার প্রোগ্রাম

  4. একটি মান একটি অ্যারের মধ্যে আছে কিনা তা পরীক্ষা করতে C# প্রোগ্রাম