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)
-
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 ソリューションアプローチ この問題を解決する
-
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の場合、