C++で直線の傾きを求めるプログラム
この問題では、直線上の2点の座標が与えられます。私たちのタスクは、C++で直線の傾きを求めるプログラムを作成することです。
問題の説明
与えられた直線上の2点の座標を利用して、その直線の傾きを求めます。
まずは具体例を使って問題を理解しましょう。
入力
p1(-1, 1), p2(3, 3)

出力
1/2 = 0.5
解法のアプローチ
直線の傾きを求めるには、直線上の任意の2点 P1(x1, y1) と P2(x2, y2) から傾きを計算する、幾何学で定義された公式を使用します。
傾き = (Y2 - Y1) / (X2 - X1)
この公式は、y方向の変化量(縦の伸び)をx方向の変化量(横の伸び)で割ったもので、「ライズ・オーバー・ラン(rise over run)」としても知られています。傾きが正であれば直線は右上がり、負であれば右下がりであることを示します。
解法の動作を示すプログラム
サンプルコード
#include<iostream>
using namespace std;
float calcSlope(float point[2][2]){
float slope = ( (point[1][1]-point[0][1]) / (point[1][0] - point[0][0]));
return slope;
}
int main() {
float points[2][2] = {{-1, 1}, {3, 3}};
cout<<"The slope of the line is "<<calcSlope(points);
}
実行結果
The slope of the line is 0.5
補足:実装時の注意点
2点のx座標が同じ値(X2 - X1 = 0)になる場合、直線は垂直となりゼロ除算が発生します。実際のアプリケーションでは、計算前に分母が0でないかをチェックし、垂直な直線の場合は傾きが定義されない旨を返すなどのエラー処理を加えることが推奨されます。
-
C++で三角形の重心を求めるプログラムの作成方法
この記事では、三角形の3つの頂点の座標を格納した2次元配列が与えられたときに、その三角形の重心を求めるC++プログラムの作成方法を解説します。 三角形の重心とは、三角形の3本の中線がすべて交わる点のことです。 また、三角形の中線とは、ある頂点と、その対辺(向かい合う辺)の中点を結ぶ線分のことを指します。 それでは、具体的な例を使って問題を確認してみましょう。 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-1.5, -1) 説明 重心 (x, y) = ((-3 + 1.5 - 3) / 3, (1 + 0 - 4) / 3) = (-1.5, -1) 解法のアプロ
-
C++で平行四辺形の面積を求めるプログラムの作成方法
この記事では、平行四辺形の底辺と高さを表す2つの値が与えられたとき、C++を使ってその面積を求めるプログラムを作成する方法を解説します。 平行四辺形とは? 平行四辺形とは、4つの辺からなる閉じた図形であり、向かい合う2組の辺がそれぞれ長さが等しく、互いに平行になっている四角形のことです。 問題を理解するための具体例 入力 B = 20, H = 15 出力 300 説明 平行四辺形の面積 = 底辺 × 高さ = 20 × 15 = 300 解決アプローチ この問題を解くには、平行四辺形の面積を求める幾何学の公式を使用します。 面積 = 底辺 × 高さ つまり、与えられた底辺と高さを掛け合わせ