কম্পিউটার টিউটোরিয়াল

C++-এ পৃষ্ঠাকে কোনো কোণে ঘুরানো সম্ভব কিনা তা খুঁজুন


এই সমস্যায়, আমাদের একটি পৃষ্ঠার ওপর তিনটি পয়েন্টের কোঅর্ডিনেট দেওয়া আছে। আমাদের কাজ হল পৃষ্ঠাকে কোনো কোণে ঘুরানো সম্ভব কিনা তা খুঁজে বের করা।

পৃষ্ঠা ঘুরানো হবে এমনভাবে যে 'x'-এর নতুন অবস্থান হবে 'y'-এর পুরনো অবস্থান, 'y'-এর নতুন অবস্থান হবে 'z'-এর পুরনো অবস্থান। এবং ঘুরানো সম্ভব হলে "Yes" নয় তবে "No" প্রিন্ট করুন।

উদাহরণ দিয়ে বুঝি,

ইনপুট: x = (0, 1), y = (1, 0), z = (0, -1)

আউটপুট: হ্যাঁ

ব্যাখ্যা:

C++-এ পৃষ্ঠাকে কোনো কোণে ঘুরানো সম্ভব কিনা তা খুঁজুন

আমরা পৃষ্ঠাকে ৯০° ঘুরাতে পারি।

সমাধানের পদ্ধতি:

পৃষ্ঠাকে কোনো কোণে ঘুরানো সম্ভব হলে কিছু শর্ত পূরণ করতে হবে।

  • x এবং y-এর দূরত্ব y এবং z-এর দূরত্বের সমান হতে হবে।
  • এছাড়া সব পয়েন্ট একই রেখায় থাকলে ঘুরানো সম্ভব নয়।

সমাধান দর্শানোর প্রোগ্রাম,

উদাহরণ

#include<bits/stdc++.h> 
using namespace std; 

int possibleOrNot(int coordinates[3][2]){ 
    long long dis1 = pow(coordinates[1][0] - coordinates[0][0], 2) + pow(coordinates[1][1] - coordinates[0][1], 2); 
    long long dis2 = pow(coordinates[2][0] - coordinates[1][0], 2) + pow(coordinates[2][1] - coordinates[1][1], 2); 
    if(dis1 != dis2) 
        return 0; 
    else if (coordinates[1][0] == ((coordinates[0][0] + coordinates[2][0]) / 2.0) && coordinates[1][1] == ((coordinates[0][1] + coordinates[2][1]) / 2.0)) 
        return 0; 
    else 
        return 1; 
} 

int main() { 
    int coordinates[3][2] = {{0 , 1}, {1 , 0}, {0, -1} } ; 
    if ( possibleOrNot(coordinates)) 
        cout << "The rotation of page is possible"; 
    else 
        cout << "The rotation of page is not possible"; 
    return 0; 
}

আউটপুট

The rotation of page is possible

  1. C++-এ দিয়ে गये পয়েন্ট থেকে সম্ভাব্য কোয়াড্রিল্যাটারেল সংখ্যা বের করুন

  2. সি++-এ একটি রেখার মিড-পয়েন্ট বের করার প্রোগ্রাম

  3. সি++-এ ত্রিভুজের কেন্ড্রয়েড (Centroid) বের করার প্রোগ্রাম

  4. সি++-এ সমান্তরাল চতুর্ভুজের (Parallelogram) ক্ষেত্রফল বের করার প্রোগ্রাম