C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でページをある角度で回転できるかどうかを確認します


この問題では、ページ上にある3点の座標が与えられます。私たちの仕事は、ページをある角度で回転できるかどうかを見つけることです。

ページの回転は、「x」の新しい位置が「y」の古い位置であり、「y」の新しい位置が「z」の古い位置であるように行われます。そして、回転に基づいて「はい」または「いいえ」を印刷します。

問題を理解するために例を見てみましょう

入力: x =(0、1)、y =(1、0)、z =(0、-1)

出力: はい

説明:

C++でページをある角度で回転できるかどうかを確認します

ページを90 o 回転させることができます 。

ソリューションアプローチ:

条件によっては、ページをある角度で回転させることができます。

これは、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) &amp;&amp; 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++で三角形の図心を見つけるプログラム

    この問題では、三角形の3つの頂点の座標を示す2D配列が与えられます。私たちのタスクは、C++で三角形のセントロイドを見つけるプログラムを作成することです。 セントロイド 三角形の3つの中央値は、三角形の3つの中央値が交差する点です。 中央値 三角形の頂点は、三角形の頂点とその反対側の線の中心点を結ぶ線です。 問題を理解するために例を見てみましょう 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-3.5, -1) 説明 Centroid (x, y) = ((-3+2.5-3)/3, (1 + 0 - 4)/3) = (-3.5, -1) ソリューションアプロ

  2. C++で平行四辺形の面積を見つけるプログラム

    この問題では、平行四辺形の底と高さを表す2つの値が与えられます。私たちのタスクは、C++で平行四辺形の領域を見つけるプログラムを作成することです。 平行四辺形 は、反対側が等しく平行な4辺の閉じた図形です。 問題を理解するために例を見てみましょう 入力 B = 20, H = 15 出力 300 説明 平行四辺形の面積=B* H =20 * 15 =300 ソリューションアプローチ この問題を解決するために、平行四辺形の面積の幾何学的公式を使用します。 Area = base * height. ソリューションの動作を説明するプログラム 例 #include <io