কম্পিউটার

C++ এ গাড়ির জোড়া গুনুন


আমাদের দৈর্ঘ্যের একটি অ্যারে দেওয়া হয়েছে যেটিতে শুধুমাত্র 0 এবং 1 রয়েছে। মান 1 পশ্চিম দিকে যাচ্ছে একটি গাড়ী এবং মান 0 পূর্ব দিকে যাচ্ছে একটি গাড়ী প্রতিনিধিত্ব করে।

কার A এবং কার B এর একটি জোড়া যদি 0<=A

আসুন উদাহরণ দিয়ে বুঝতে পারি

ইনপুট − arr[] ={1,0,1,0,1}

আউটপুট − পাসিং গাড়ি জোড়ার সংখ্যা হল:3

ব্যাখ্যা − (0,1) জোড়া যেখানে 0-এর সূচক 1-এর চেয়ে কম তা হল − (arr[1],arr[2]), (arr[1],arr[4]), (arr[3],arr [৪])

ইনপুট − arr[] ={1,0,0,0,0}

আউটপুট − পাসিং গাড়ি জোড়ার সংখ্যা হল:0

ব্যাখ্যা − (0,1) এর কোন জোড়া নেই যেখানে 0 এর সূচক 1 এর কম।

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

আমরা দুটি পন্থা ব্যবহার করব। লুপের জন্য দুটি ব্যবহার করে প্রথম নিরীহ পদ্ধতি। অ্যারেটি অতিক্রম করা শুরু করুন, ঠিক যখন 0 সেই বিন্দু থেকে আবার শেষ পর্যন্ত ট্র্যাভার্স অ্যারের সম্মুখীন হয় এবং 1 এর সম্মুখীন হলে সংখ্যা বৃদ্ধি করুন৷

  • 0's এবং 1's সম্বলিত একটি অ্যারে arr[] নিন।

  • ফাংশন count_cars(int arr[], int size) ইনপুট হিসাবে অ্যারে এবং দৈর্ঘ্য নেয় এবং পাসিং গাড়ির গণনা ফেরত দেয়।

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • সূচী i=0 থেকে i পর্যন্ত ট্রাভার্স অ্যারে

  • যদি arr[i] 0 হয়, তাহলে সূচী j=i+1 থেকে j<দৈর্ঘ্যে আবার অ্যারে ট্র্যাভার্স করুন।

  • প্রতিটি arr[j]-এর জন্য পেয়ার হিসাবে 1 বৃদ্ধির গণনা (arr[i],arr[j]) হল (0,1) এবং i

  • শেষ পর্যন্ত আমরা মোট গণনা পাব।

  • ফলাফল হিসাবে রিটার্ন গণনা।

দক্ষ পদ্ধতি

এই পদ্ধতিতে আমরা শেষ থেকে অ্যারেটি অতিক্রম করব। শেষ থেকে সমস্ত 1 গণনা করুন। প্রতিটি প্রথম 0 এর জন্য (শেষ থেকে), না। জোড়ার গণনা হবে 1 এর টেম্প।

  • 0's এবং 1's সম্বলিত একটি অ্যারে arr[] নিন।

  • ফাংশন count_cars(int arr[], int size) ইনপুট হিসাবে অ্যারে এবং দৈর্ঘ্য নেয় এবং পাসিং গাড়ির গণনা প্রদান করে।

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • সাইজ>=1.

    পর্যন্ত লুপ ব্যবহার করে শেষ থেকে ট্রাভার্স অ্যারে
  • যদি arr[size-1] 1 হয়, এখন পর্যন্ত পাওয়া 1 এর সংখ্যার জন্য পরিবর্তনশীল তাপমাত্রা বৃদ্ধি করুন।

  • অন্যথায় এটি 0 (যার একটি সূচক সমস্ত 1 এর থেকে কম যা রেম্প)। জোড়া টেম্প হবে. গণনা =গণনা + তাপমাত্রা সেট করুন।

  • পরবর্তী উপাদানের জন্য আকার হ্রাস করুন।

  • শেষ পর্যন্ত আমরা মোট গণনা পাব।

  • ফলাফল হিসাবে রিটার্ন গণনা।

উদাহরণ (নিষ্পাপ পদ্ধতি)

#include<bits/stdc++.h>
using namespace std;
int count_cars(int arr[], int size){
   int count = 0;
   for (int i=0; i<size-1; i++){
      if(arr[i] == 0){
         for (int j=i+1; j<size; j++)
         if (arr[j]==1){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int arr[] = {1, 1, 0, 0, 1};
   int size = sizeof(arr)/sizeof(arr[0]);
   cout<<"Count of passing car pairs are: "<<count_cars(arr, size);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count of passing car pairs are: 2

উদাহরণ (দক্ষ পদ্ধতি)

#include<bits/stdc++.h>
using namespace std;
int count_cars(int arr[], int size){
   int count = 0;
   int temp = 0;
   while (size >= 1){
      if (arr[size-1] == 1){
         temp++;
      }
      else{
         count = count + temp;
      }
      size--;
   }
   return count;
}
int main(){
   int arr[] = {1, 1, 0, 1, 1};
   int size = sizeof(arr)/sizeof(arr[0]);
   cout<<"Count of passing car pairs are: "<<count_cars(arr, size);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count of passing car pairs are: 2

  1. C++-এ Bitwise বা জোড় সংখ্যা হিসাবে জোড়া গণনা করুন

  2. Bitwise-এবং C++ এ জোড় সংখ্যা হিসাবে জোড়া গণনা করুন

  3. C++ এ একটি অ্যারেতে বিভাজ্য জোড়া গণনা করুন

  4. C++ এ গাড়ির ফ্লিট