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

C点がX軸またはY軸に平行であるかどうかを確認するプログラム


n個のポイントが与えられた場合、グラフに従って、ポイントがx軸またはy軸に平行であるか、軸がないかを確認する必要があります。グラフは、それぞれが直角の軸に沿って測定された2つの変数間の関係を示すために使用される図です。平行とは、線路が互いに平行であるように、すべての点で同じ距離にある同じ線です。

したがって、ポイントがx軸に平行であるか、y軸に平行であるかは、座標と軸の間の距離がすべてのポイントで同じであることを意味するかどうかを確認する必要があります。

軸とは

グラフは、2つの軸のx軸とy軸に沿って測定されます。どちらの軸も、ポイント値0から始まり、特定の変数値に従って拡張されます。両方の軸を組み合わせて、直角三角形のような図形を形成します。

簡単な図式表現を使って、それを明確に理解しましょう-

C点がX軸またはY軸に平行であるかどうかを確認するプログラム

以下で使用されるアプローチは次のとおりです

  • まず、グラフの座標を(x、y)座標で取得します。
  • 次に、それらがどの軸に平行であるかを確認します。
  • すべてのy座標が同じ場合、グラフはx軸に平行です。
  • それ以外の場合、x座標が同じであれば、グラフはy軸に平行です。
  • それ以外の場合、グラフはどちらの軸にも平行ではありません。

アルゴリズム

Start
In function void parallel (int n, int a[][2])
   Step 1-> Declare and initialize i and j
   Step 2-> Declare bool x = true, y = true
   Step 3-> Loop For i = 0 and i < n – 1 and i++
   Loop For j = 0 and j < 2 and j++
      If a[i][0] != a[i + 1][0] then,
         Set x as false
      If a[i][1] != a[i + 1][1] then,
         Set y as false
      End loop
   End loop
   Step 4-> If x then,
      Print "parallel to X Axis\n"
   Step 5-> Else if y
      Print "parallel to Y Axis\n"
   Step 6-> Else
      Print "parallel to X and Y Axis\n"
In function int main()
   Step 1-> Declare an array “a[][2]”
   Step 2-> Declare and Initialize n as sizeof(a) / sizeof(a[0])
   Step 3-> Call function parallel(n, a)

#include <stdio.h>
// To check the line is parellel or not

void parallel(int n, int a[][2]) {
   int i, j;
   bool x = true, y = true;
   // checking for parallel to X and Y
   // axis condition
   for (i = 0; i < n - 1; i++) {
      for (j = 0; j < 2; j++) {
         if (a[i][0] != a[i + 1][0])
            x = false;
         if (a[i][1] != a[i + 1][1])
            y = false;
      }
   }
   // To display the output
   if (x)
      printf("parallel to X Axis\n" );
   else if (y)
      printf("parallel to Y Axis\n" );
   else
      printf("parallel to X and Y Axis\n" );
}
int main() {
   int a[][2] = { { 2, 1 },
   { 3, 1 },
   { 4, 1 },
   { 0, 1 } };
   int n = sizeof(a) / sizeof(a[0]);
   parallel(n, a);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

parallel to Y Axis

  1. ポイントをチェックするプログラムがPythonで凹多角形を形成しているかどうか

    多角形の外側の点が時計回りにあるとします。これらの点が凸多角形を形成しているかどうかを確認する必要があります。ポリゴンの内角のいずれかが180°より大きい場合、ポリゴンは凹面であると言われます。 この図から、3つの連続するポイントごとに、CDEを除いて内角が180°以下であることが明らかです。 したがって、入力がpoints =[(3,4)、(4,7)、(7,8)、(8,4)、(12,3)、(10,1)、(5,2 )]の場合、出力はTrueになります。 これを解決するには、次の手順に従います- n:=ポイントのサイズ 0からポイントのサイズまでの範囲のiについては、 1の場

  2. ポイントをチェックするプログラムがPythonで凸包を形成しているかどうか

    ポリゴンの外側の点が時計回りにあるとします。これらの点が凸包を形成しているかどうかを確認する必要があります。 この図から、3つの連続するポイントごとに内角が180°以下であることが明らかです。したがって、すべての角度が180°以下の場合、ポリゴンは凸包になります。 したがって、入力がpoints =[(3,4)、(4,7)、(7,8)、(11,6)、(12,3)、(10,1)、(5,2 )]の場合、出力はTrueになります。 これを解決するには、次の手順に従います- n:=ポイントのサイズ 0からポイントのサイズまでの範囲のiについては、 1の場合はpoints[i-2]、