কম্পিউটার

আয়তক্ষেত্রের সংখ্যা গণনা করুন যাতে বাহুর অনুপাত C++ এ [a,b] পরিসরে থাকে।


প্রদত্ত আয়তক্ষেত্রের দিক এবং পরিসর ভেরিয়েবলের প্রথম এবং শেষ। লক্ষ্য হল আয়তক্ষেত্রগুলির গণনা খুঁজে বের করা যেগুলির পার্শ্বের দৈর্ঘ্য/প্রস্থের অনুপাত [প্রথম, শেষ] পরিসরে রয়েছে৷

উদাহরণস্বরূপ

ইনপুট

rec[] = { { 200, 210 }, { 100, 50 }, { 300, 190}, {180, 200}, {300, 200}} and first = 1.0, last = 1.6

আউটপুট

Count of number of rectangles such that ratio of sides lies in the range [a,b] are: 4

ব্যাখ্যা

The sides that have ratio in the range [ 1.0,1.6 ] are :
{200,210}, {300,190}, {180,200}, {300,200}

ইনপুট

rec[] = { { 10,20 }, { 30, 10 }, { 100, 500}, {900, 300}, {450, 90}} and
first = 3.0, last = 4.0

আউটপুট

Count of number of rectangles such that ratio of sides lies in the range [a,b]
are: 2

ব্যাখ্যা

The sides that have ratio in the range [ 3.0,4.0 ] are :
{30,10}, {900,300}

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

এই পদ্ধতিতে আমরা জোড়ার একটি অ্যারের আকারে দিকগুলি নেব। প্রতিটি জোড়ার জন্য বৃহত্তর মান/ছোট মানের একটি ফলাফল আছে কিনা তা পরীক্ষা করুন যা পরিসীমা [প্রথম, শেষ]। যদি সত্য হয় তাহলে এই ধরনের জোড়ার সংখ্যা বৃদ্ধি করুন।

  • পেয়ার.

    টাইপের একটি অ্যারে rec[] নিন
  • পরিসীমা নির্ধারণের জন্য প্রথমে এবং শেষ দুটি ভেরিয়েবল নিন।

  • ফাংশন ratio_sides(pair rec[], int total, ডবল ফার্স্ট, ডবল লাস্ট) আয়তক্ষেত্রগুলির বাহু নেয় এবং আয়তক্ষেত্রের সংখ্যার গণনা প্রদান করে যেমন বাহুগুলির অনুপাত পরিসীমা [a,b] এর মধ্যে থাকে।

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

  • i=0 থেকে i এর জন্য লুপ ট্রাভার্স ব্যবহার করা

  • ম্যাক্সি =max(rec[i].first, rec[i].second) হিসাবে জোড়া rec[i]-এ বড় মান বের করুন।

  • mini =min(rec[i].first, rec[i].second) হিসাবে জোড়া rec[i] থেকে ছোট মান বের করুন।

  • গড়=ম্যাক্সি/মিনি হিসাব করুন।

  • যদি গড় পরিসরে মান থাকে [প্রথম, শেষ], তাহলে বৃদ্ধির সংখ্যা।

  • লুপ রিটার্নের শেষে ফলাফল হিসাবে গণনা..

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int ratio_sides(pair<int, int> rec[], int total, double first, double last){
   int count = 0;
   for (int i = 0; i < total; i++){
      double maxi = max(rec[i].first, rec[i].second);
      double mini = min(rec[i].first, rec[i].second);
      double average = maxi/mini;
      if (average >= first){
         if(average <= last){
            count++;
         }
      }
   }
   return count;
}
int main(){
   pair<int, int> rec[] = { { 200, 210 }, { 100, 50 }, { 300, 190}, {180, 200}, {300, 200}};
   int total = 5;
   double first = 1.0, last = 1.6;
   cout<<"Count of number of rectangles such that ratio of sides lies in the range [a,b] are: "<<ratio_sides(rec, total, first, last);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count the number of rectangles such that ratio of sides lies in the range [a,b] are: 4

  1. x + y + z এর মান সর্বাধিক করুন যাতে ax + by + cz =n C++ এ

  2. সবচেয়ে ছোট সংখ্যা K খুঁজুন যেমন K % p =0 এবং q % K =0 C++ এ

  3. ক্ষুদ্রতম সংখ্যাটি নির্ণয় করুন যেমন X! C++-এ কমপক্ষে Y অনুগামী শূন্য রয়েছে

  4. একটি সংখ্যায় সংখ্যার গণনা খুঁজুন যা সংখ্যাটিকে C++ এ ভাগ করে