01/10/2018, 00:40
Bài toán kiểm tra tam giác bị lỗi logic
Chào các bạn, mình có làm bài tập như sau: Nhập vào 3 cạnh của 1 tam giác, kiểm tra xem nó là tam giác gì?
Khi mình nhập a = b = 5, c = sqrt(50) thì output cho ra một tam giác vuông cân.
Còn nếu mình nhập a = b = 3, c = sqrt(18) thì output lại là một tam giác cân.
Code của mình chỉ đúng với a = b =5, c = sqrt(50). Còn các giá trị khác thì lại nhận được kết quả là tam giác cân.
http://codepad.org/jI0OaRt4
Code ở đây, mây bạn xem hộ mình với, mình cảm ơn
Bài liên quan
Mình test thử trường hợp
a = b = 5, c = sqrt(50)
thì kết quả lại làDay la tam giac can.
Mình sửa lại code rồi bạn ơi TT.TT nhầm chút ở phần kiểm tra pytago
Mình dùng IDE của mình với trang ideone.com cũng ra kết quả giống nãy:
Mình tìm được nguyên nhân rồi, vì kiểu dữ liệu float nên có sai số, lúc nhập sqrt(50) vào thì nó không bằng đúng 50.
chỉ xấp xỉ thôi nên nó không ra tam giác vuông cân. Nhưng hiện tại code của mình trên VS thì vẫn đúng với trường hợp của mình nói, còn lại thì vẫn sai.
Còn IDE khác và trên ideone.com thì đúng là nó lại ra tam giác cân
Bạn có thể xem code hoàn chỉnh của mình tại đây: http://codepad.org/pY2ctV6B
Đã viết bằng tiếng Anh thì viết cho chính xác Vũ nhé. Tiếng Việt thì là Pytago, tiếng Anh là Pythagoras.