Sunday, January 12, 2020

Chương trình C ++ để tìm tất hệ số phương trình bậc hai

Chương trình này chấp nhận các hệ số của phương trình bậc hai từ người dùng và hiển thị các gốc (cả gốc thực và gốc phức tạp tùy thuộc vào phân biệt đối xử).
Để hiểu ví dụ này, bạn nên có kiến thức về các chủ đề lập trình C ++ sau đây:
Đối với phương trình bậc hai ax2 + bx + c = 0 (trong đó a, b và c là các hệ số), gốc của nó được đưa ra bằng cách làm theo công thức.

Thuật ngữ b2-4ac được gọi là phân biệt của phương trình bậc hai. Người phân biệt nói lên bản chất của rễ.

Nếu phân biệt đối xử lớn hơn 0, gốc là thực và khác nhau.
Nếu phân biệt bằng 0, gốc là thực và bằng nhau.
Nếu phân biệt đối xử nhỏ hơn 0, rễ là phức tạp và khác nhau.
Ví dụ: phương trình bậc hai
#include <iostream>
#include <cmath>
using namespace std;
int main() {
    float a, b, c, x1, x2, discriminant, realPart, imaginaryPart;
    cout << "Enter coefficients a, b and c: ";
    cin >> a >> b >> c;
    discriminant = b*b - 4*a*c;
   
    if (discriminant > 0) {
        x1 = (-b + sqrt(discriminant)) / (2*a);
        x2 = (-b - sqrt(discriminant)) / (2*a);
        cout << "Roots are real and different." << endl;
        cout << "x1 = " << x1 << endl;
        cout << "x2 = " << x2 << endl;
    }
   
    else if (discriminant == 0) {
        cout << "Roots are real and same." << endl;
        x1 = (-b + sqrt(discriminant)) / (2*a);
        cout << "x1 = x2 =" << x1 << endl;
    }
    else {
        realPart = -b/(2*a);
        imaginaryPart =sqrt(-discriminant)/(2*a);
        cout << "Roots are complex and different."  << endl;
        cout << "x1 = " << realPart << "+" << imaginaryPart << "i" << endl;
        cout << "x2 = " << realPart << "-" << imaginaryPart << "i" << endl;
    }
    return 0;
}
Đầu ra
Nhập các hệ số a, b và c: 4
5
1
Rễ là có thật và khác nhau.
x1 = -0,25
x2 = -1
Trong chương trình này, hàm thư viện sqrt () được sử dụng để tìm căn bậc hai của một số.