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

C++で3つのポイントが同一線上にあるかどうかをチェックするプログラム


3つの異なる値のポイントが与えられ、タスクはポイントが同一線上にあるかどうかを確認することです。

ポイントが同じ線上にある場合は同一線上にあると言われ、異なる線上にある場合は同一線上にありません。以下に、同一線上および非同一線上の点の図を示します。

C++で3つのポイントが同一線上にあるかどうかをチェックするプログラム

入力

x1 = 1, x2 = 2, x3 = 3, y1 = 1, y2 = 4, y3 = 5

出力

no points are not collinear

入力

x1 = 1, y1 = 1, x2 = 1, y2 = 4, x3 = 1, y3 = 5

出力

points are collinear

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

  • ポイントを(x1、y1)、(x2、y2)、(x3、y3)として入力します

  • 三角形の面積の式を適用しますx1*(y2-y3)+ x2 *(y3-y1)+ x3 *(y1-y2)

  • 次のように条件を確認します-

    • 三角形の面積が0の場合、印刷ポイントは同一線上にあります

    • 三角形の面積が0でない場合、印刷ポイントは同一線上にありません

  • 最終結果を印刷する

アルゴリズム

Start
Step 1→ declare function to check if points are collinear or not
   void check_collinear(int x1, int y1, int x2, int y2, int x3, int y3)
      declare int a = x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)
      IF (a == 0)
         Print "yes points are collinear"
      End
      Else
         Print "no points are not collinear"
Step 2→ In main()
   Declare int x1 = 1, x2 = 2, x3 = 3, y1 = 1, y2 = 4, y3 = 5
   Call check_collinear(x1, y1, x2, y2, x3, y3)
Stop

#include <bits/stdc++.h>
#include <math.h>
#include <stdlib.h>
using namespace std;
//check if points are collinear or not
void check_collinear(int x1, int y1, int x2, int y2, int x3, int y3){
   int a = x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2);
   if (a == 0)
      cout << "yes points are collinear";
   else
      cout << "no points are not collinear";
}
int main(){
   int x1 = 1, x2 = 2, x3 = 3, y1 = 1, y2 = 4, y3 = 5;
   check_collinear(x1, y1, x2, y2, x3, y3);
   return 0;
}

出力

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

no points are not collinear

  1. 3D平面内の点が同一平面上にあるかどうかを確認するC++プログラム

    ポイント(x1、y1、z1)、(x2、y2、z2)、(x3、y3、z3)、および(x4、y4、z4)が与えられ、プログラムは与えられたポイントが同一平面上にあるかどうかをチェックする必要があります。ポイントは、同じ平面の下にあり、異なる場合は同一平面上にあると言われます-2平面は、ポイントが同一平面上にありません。 以下に示すのは、4つのポイントを含む画像で、すべてが同じ平面の下にあります。これは、ポイントが同一平面上にあることを意味するxy平面です。 以下に示すのは、4つのポイントを含む画像で、すべてが異なる平面の下にあり、ポイントが同一平面上にないことを示しています 例 I

  2. C++でべき等行列をチェックするプログラム

    行列M[r][c]が与えられた場合、「r」は行数を示し、「c」はr=cが正方行列を形成するような列数を示します。与えられた正方行列がべき等行列であるかどうかを確認する必要があります かどうか。 べき等行列 行列「M」はべき等行列と呼ばれます 行列「M」にそれ自体を掛けたものだけが同じ行列「M」を返す場合、つまり M * M=M。 以下の例のように- 上記の行列はそれ自体で乗算され、同じ行列を返すと言えます。したがって、マトリックスはIデポテンツマトリックスです。 。 例 Input: m[3][3] = { {2, -2, -4},    {-1, 3,