কম্পিউটার

C++ এ কঠোরভাবে বর্ধিত সাবাররে গণনা করুন


আমাদেরকে পূর্ণসংখ্যা উপাদান সমন্বিত একটি অ্যারে দেওয়া হয়েছে এবং কাজটি হল প্রথমে প্রদত্ত অ্যারের থেকে সাবয়েরে গণনা করা এবং তারপরে একটি সাবয়ারের উপাদানগুলি ক্রমবর্ধমান ক্রমে আছে কিনা তা পরীক্ষা করা। যদি হ্যাঁ, তাহলে আমরা সাবারে বিবেচনা করব অন্যথায় এটি বাতিল করা হবে৷

0ম এবং 1ম অবস্থানে থাকা উপাদানগুলি যদি ক্রমবর্ধমান ক্রমে না থাকে তবে সাবারেকে আরও পরীক্ষা করা বন্ধ করা এখানে পদ্ধতি।

উদাহরণস্বরূপ- C++ এ

ইনপুট: int a[] ={1, 7, 5}

আউটপুট: কঠোরভাবে বর্ধিত সাবয়ারের সংখ্যা হল 1

ব্যাখ্যা - সম্ভাব্য সাবঅ্যারেগুলির মধ্যে রয়েছে {1,7,5}, {1,7}, {7,5} যেখানে {1,7}ই একমাত্র অ্যারে যা কঠোরভাবে ক্রমবর্ধমান ক্রমে রয়েছে৷

ইনপুট: int a[] ={1, 2, 7, 10}

আউটপুট: কঠোরভাবে ক্রমবর্ধমান সাবয়ারের সংখ্যা হল 6

ব্যাখ্যা - সম্ভাব্য সাবঅ্যারেগুলির মধ্যে রয়েছে {{1, 2}, {1, 2, 7}, {1, 2, 7, 10},{2, 7}, {2, 7, 10} এবং {7, 10} এবং সমস্ত কঠোরভাবে ক্রমবর্ধমান হয়.

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

  • একটি অ্যারে ঘোষণা করা হয়, উপাদানগুলি ইনপুট করা হয় এবং পরবর্তী প্রক্রিয়াকরণের জন্য অ্যারের দৈর্ঘ্য সহ countIncSubarrays(a,a.length) নামের ফাংশনে ডেটা প্রেরণ করা হয়৷
  • ফাংশনের ভিতরে একটি গণনা পতাকা শুরু করুন।
  • একটি অ্যারের দৈর্ঘ্য পর্যন্ত 0 থেকে i এর জন্য লুপ শুরু করুন
  • লুপের ভিতরে, i+1 থেকে একটি অ্যারের দৈর্ঘ্য পর্যন্ত j এর জন্য আরেকটি লুপ শুরু করুন
  • লুপের ভিতরে, a[j] a[j-1] এর চেয়ে বড় কিনা তা পরীক্ষা করুন এবং গণনা বৃদ্ধি করুন।
  • অন্যথায় ক্রমবর্ধমান অর্ডার চেক ব্যর্থ হওয়ায় লুপটি ভেঙে দিন।
  • মূল ফাংশনে ফলাফলটি ফাংশন কল থেকে ক্যাপচার করা হয় এবং আউটপুট হিসাবে প্রিন্ট করা হয়।

উদাহরণ

import java.util.*;
class testqwe {
   static int MAX = 4;
   static int a[] = new int[MAX];
   static Scanner scan = new Scanner(System.in);
   static int countIncSubarrays(int a[], int n) {

      int count = 0;
      for (int i = 0; i < n; i++) {
         for (int j = i + 1; j < n; j++) {
            if (a[j] > a[j - 1])
               count++;
            else
               break;
         }
      }
      return count;
   }

   public static void main(String[] args) {
      for (int i = 0; i < a.length; i++) {
         a[i] = scan.nextInt(); //1,2,7,0
      }
      int result = countIncSubarrays(a, a.length);
      System.out.println("Count of strictly increasing subarrays is " +
         result);
   }
}

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

উৎপন্ন করবে

আউটপুট

Count of strictly increasing subarrays is 6

  1. C++ এ একটি সমতলে সমান্তরালগ্রামের গণনা

  2. C++ এ কঠোরভাবে হ্রাসকারী সাবাররেগুলির গণনা খুঁজুন

  3. C++-এ সর্বোচ্চ যোগফল কঠোরভাবে বর্ধিত সাবাররে খুঁজুন

  4. একটি অ্যারেতে ইনভার্সন গণনা করার জন্য C++ প্রোগ্রাম