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

C++で2点を通過する線を見つけるプログラム


この問題では、座標平面上の2つの点AとBの座標が与えられます。私たちのタスクは、C++で2ポイントを通過する線を見つけるプログラムを作成することです。

問題の説明

直線を見つけるには、直線の方程式を使用し、座標を使用して解を求める必要があります。

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

入力:A =(3、3)B =(6、1)

出力 :2x + 3y =15

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

直線の方程式を見つけるために、直線の一般方程式-

を使用します。

ax + by =c

これは、ポイントA(x1、y1)とB(x2、y2)の両方で満たされる必要があります

方程式を作成します

ax1 + by1 =c

ax2 + by2 =c

ここで、cは両方の方程式に共通であるため、

ax1 + by1 =ax2 + by2

=> ax1-ax2 =by2-by1

同等化すると、

$$ a =(y2-y1)$$ $$ b =(x1-x2)$$

cは方程式を使用して求められます

$$ ax1 + by1 =c $$

だから、これは直線の方程式の方程式です

$$ a =(y2-y1)$$ $$ b =(x1-x2)$$ $$ c =ax1 + by1 $$

#include <iostream> using namespace std;
void findLine(int points[2][2]) {
   int a = points[1][1] - points[0][1];
   int b = points[0][0] - points[1][0]; int c = a*points[0][0] + b*points[0][1];
   cout<<"("<<a<<"x) + ("<<b<<"y) = ("<<c<< 
}
int main() {
   int points[2][2] = {{5, 9}, {1, 4}}; cout<<"The equation of line is "; findLine(points);
   return 0;
}

出力

The equation of line is (-5x) + (4y) = (11)

  1. C++で線の中点を見つけるプログラム

    この問題では、線の始点と終点の2つの点AとBが与えられます。私たちの仕事は、C++で線の中点を見つけるプログラムを作成することです。 問題の説明 −ここでは、開始点と終了点がA(x1、y1)とB(x2、y2)の線があります。そして、線の中点を見つける必要があります。 問題を理解するために例を見てみましょう 入力 a(x1, y1) = (4, -5) b(x2, y2) = (-2, 6) 出力 (1, 0.5) 説明 (x1 + x2)/2 = 4 - 2 / 2 = 1 (y1 + y2)/2 = -5 + 6 / 2 = 0.5 ソリューションアプローチ この問題を解決する

  2. C++でのライン上の最大ポイント

    2D平面があるとします。同じ直線上にある点の最大数を見つける必要があります。したがって、ポイントが次のような場合- それから4つのポイントがあります これを解決するには、次の手順に従います- n:=ポイントの数、n <3の場合、nを返します ans:=2 1からn–1の範囲のiの場合 カウント:=0 インデックスiとi– 1から2つのポイントを取ります。これらは、p1、p2です。 p1ポイントとp2ポイントが同じ場合、 0からn–1の範囲のjの場合 points [j] .x=p1.xおよびpoints[j].y =p1.yの場合、