Giao điểm các đường thẳng

T

tachsung

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Trên mặt phẳng cho trước n đường thẳng. Hãy tính số giao điểm của các đường thẳng này. Yêu cầu tính càng chính xác càng tốt.
Các đường thẳng trên mặt phẳng được cho bởi 3 số thực A, B, C với phương trình Ax + By + C = 0, ở đây các số A, B không đồng thời bằng 0.
Dữ liệu vào của bài toán cho trong tệp B6.INP có dạng sau:
- Dòng đầu tiên ghi số n
- n dòng tiếp theo, mỗi dòng ghi 3 số thực A, B, C cách nhau bởi dấu cách.
Kết quả của bài toán thể hiện trên màn hình.
 
M

minh_minh1996


Mình có code bên C++ thôi
isCross(Line d,Point &p)
{
double D=A*d.B-d.A*B;
double Dx=-(C*d.B-d.C*B);
double Dy=-(A*d.C-d.A*C);
if (D==0)
{
if (Dx==0 && Dy==0)
{
if (A==0 && B==0 && C!=0) return 0;
return 2;
}
else return 0;
}
else
{
p.x=Dx/D;
p.y=Dy/D;
return 1;
 
Top Bottom