কম্পিউটার

C++ ব্যবহার করে দুটি আয়তক্ষেত্র ওভারল্যাপ করে কিনা তা খুঁজুন।


আমরা জানি যে একটি আয়তক্ষেত্র দুটি স্থানাঙ্ক ব্যবহার করে উপস্থাপন করা যেতে পারে, উপরের বাম কোণে এবং নীচের ডান কোণে। ধরুন দুটি আয়তক্ষেত্র আছে, আমাদের পরীক্ষা করতে হবে এই দুটি ওভারল্যাপ কি না। চারটি স্থানাঙ্ক বিন্দু (l1, r1) এবং (l2, r2) রয়েছে।

  • l1 হল প্রথম আয়তক্ষেত্রের উপরের-বাম কোণে
  • r1 হল প্রথম আয়তক্ষেত্রের নীচে-ডান কোণে
  • l2 হল দ্বিতীয় আয়তক্ষেত্রের উপরের-বাম কোণে
  • r2 হল দ্বিতীয় আয়তক্ষেত্রের নীচে-ডান কোণে

আমরা ধরে নিয়েছি যে আয়তক্ষেত্রগুলি স্থানাঙ্ক অক্ষের সমান্তরাল। এটি সমাধান করার জন্য, আমাদের কয়েকটি শর্ত পরীক্ষা করতে হবে।

  • একটি আয়তক্ষেত্র অন্য আয়তক্ষেত্রের উপরের প্রান্তের উপরে
  • একটি আয়তক্ষেত্র অন্য আয়তক্ষেত্রের বাম প্রান্তের বাম দিকে।

উদাহরণ

#include<iostream>
using namespace std;
class Point {
   public:
   int x, y;
};
bool isOverlapping(Point l1, Point r1, Point l2, Point r2) {
   if (l1.x > r2.x || l2.x > r1.x)
      return false;
   if (l1.y < r2.y || l2.y < r1.y)
      return false;
   return true;
}
int main() {
   Point l1 = {0, 10}, r1 = {10, 0};
   Point l2 = {5, 5}, r2 = {15, 0};
   if (isOverlapping(l1, r1, l2, r2))
      cout << "Rectangles are Overlapping";
   else
      cout << "Rectangles are not Overlapping";
}

আউটপুট

Rectangles are Overlapping

  1. C++ ব্যবহার করে স্টপিং স্টেশনের সংখ্যা খুঁজুন

  2. কিভাবে C++ ব্যবহার করে OpenCV এ একটি আয়তক্ষেত্র আঁকবেন?

  3. C++ ব্যবহার করে N ফ্যাক্টোরিয়ালের যোগফলের শেষ দুটি সংখ্যা খুঁজুন।

  4. C++ এ মধ্যবিন্দু ব্যবহার করে আয়তক্ষেত্রের কোণগুলি খুঁজুন