C++で二次方程式の判別式を計算する

二次方程式の解の公式は

\begin{align}
D=b^2-4ac
\end{align}

あとは値の範囲で条件分岐すればいい

実行結果

d -> 33

異なる2つの実数解

ソースコード

#include <iostream>

typedef struct {
    double a;
    double b;
    double c;
}QuadraticFormula;

double hanbetu(QuadraticFormula);

int main() {
    QuadraticFormula f1;
    double d;

    f1.a = 1;
    f1.b = 7;
    f1.c = 4;

    d = hanbetu(f1);
    std::cout << "d -> " << d << std::endl << std::endl;

    if (d > 0) {
        std::cout << "異なる2つの実数解";
    }else if(d == 0) {
        std::cout << "実数解";
    }
    else {
        std::cout << "異なる2つの複素解";
    }
}

double hanbetu(QuadraticFormula f) {
    double d;

    d = std::pow(f.b, 2) - 4 * f.a * f.c;
    
    return d;
}

コメント

タイトルとURLをコピーしました