Giải hệ phương trình bậc nhất 2 ẩn trong C/C++

4
9407
Thuật toán giải hệ phương trình bậc nhất 2 ẩn bằng code C++

Hôm nay Lập trình không khó sẽ hướng dẫn các bạn cách giải hệ phương trình bậc nhất 2 ẩn bằng code C/C++. Nhưng trước khi giải bài toán này chúng ta cũng tìm hiểu hệ phương trình bậc nhất 2 ẩn là gì ?

giai-phuong-trinh-bac-nhat-2-an
Định nghĩa phương trình bậc nhất 2 ẩn

Ở các lớp dưới chúng ta đã những phương pháp giải hệ phương trình trên như: Phương pháp thế, phương pháp đặt ẩn phụ…

Nhưng liệu trong C++ ta có dùng lại những phương pháp này được không ? Câu trả lời là có nhưng với mỗi phương pháp thì nó những ưu nhược điểm riêng. Ví dụ ta rút x ở hệ phương trên x = ( c1 -b1y ) / a

Nhưng nếu a1 bằng 0 thì sao ? Không lẻ bạn ngồi viết từng dòng if else để rút thế, nếu bạn làm như cũng được thôi nhưng chương trình của bạn sẽ phức tạp hơn rất nhiều. Vậy nên mình sẽ giới thiệu đến các bạn một phương pháp giải mới.

Giải hệ phương trình bậc nhất bằng phương pháp Cramer

 

phuong-phap-dung-dinh-thuc
Phương pháp Cramer

Các bạn có thể xem thêm phương pháp Cramer tại đây.

Từ đây ta chỉ cần tính các định thức D, Dx, Dy là xong rồi phải không nào.

  • Nếu định thức D = 0 thì phương trình hoặc vô nghiệm hoặc vô số nghiệm. Nếu Dx = Dy = 0 thì phương trình có vô số nghiệm. Ngược lại thì phương trình trên vô nghiệm.
  • Nếu định thức D ≠ 0 thì hệ phương trình trên luôn có nghiệm duy nhất với x = Dx/D và y = Dy/D.

Nào ta cùng bắt tay vào viết chương trình thôi !

Chương trình giải hệ phương trình bậc nhất 2 ẩn

Dưới đây là chương trình tham khảo cách giải hệ phương trình bậc nhất 2 ẩn, mình khuyên các bạn nên viết trước khi xem source.

Code C:

Code C++:

Sau khi chạy chương trình lên ta có kết quả sau.

Các bạn có thể tự tính lại xem đúng không nhá ^_^

Bài viết của mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi!

avatar
  Subscribe  
newest oldest most voted
Notify of
trunghoho
Guest
trunghoho

cách làm trên chưa đúng hoàn toàn, còn trường hợp
0 0 0
1 2 3
sẽ phải ra là vô số nghiệm nhưng bên trên sẽ chỉ ra là vô nghiệm thôi.

Nguyễn Văn Hiếu
Admin
Nguyễn Văn Hiếu

Sao mà hệ này vô số nghiệm được nhỉ?

Nguyễn Quốc Kiệt
Guest
Nguyễn Quốc Kiệt

Bạn làm rất tốt rồi nhưng vẫn [email protected]@
trường hợp : 2 4 3
1 2 3
là vô nghiệm nhưng như trên sẽ VSN. tks

Nguyễn Văn Hiếu
Admin
Nguyễn Văn Hiếu

Cảm ơn em đã góp ý nhé, code mình đã update lại chính xác.