Tin học Kiểm tra 1 điểm có nằm trong tam giác

Thảo luận trong 'Thảo luận chung' bắt đầu bởi dangtiendung1201, 8 Tháng tám 2019.

Lượt xem: 126

  1. dangtiendung1201

    dangtiendung1201 Mod Toán Cu li diễn đàn HV CLB Hóa học vui

    Bài viết:
    1,126
    Điểm thành tích:
    176
    Nơi ở:
    Thái Bình
    Trường học/Cơ quan:
    THCS Lương Thế VInh-Thành phố Thái Bình
    Sở hữu bí kíp ĐỖ ĐẠI HỌC ít nhất 24đ - Đặt chỗ ngay!

    Đọc sách & cùng chia sẻ cảm nhận về sách số 2


    Chào bạn mới. Bạn hãy đăng nhập và hỗ trợ thành viên môn học bạn học tốt. Cộng đồng sẽ hỗ trợ bạn CHÂN THÀNH khi bạn cần trợ giúp. Đừng chỉ nghĩ cho riêng mình. Hãy cho đi để cuộc sống này ý nghĩa hơn bạn nhé. Yêu thương!

    Chương trình kiểm tra 1 điểm có tọa độ nguyên D(x4,y4) có nằm trong tam giác với các tọa độ đỉnh tam giác nguyên A(x1,y2); B(x2,y2); C(x3,y3). Trị tuyệt đối của các xi, yi nhỏ hơn 10^4.
    Mã:
    program tam_giac;
    var
        x1,x2,x3,x4,y1,y2,y3,y4:integer;
        S,S1,S2,S3,S4:longint;
    Begin
        Read(x1,y1);
        Read(x2,y2);
        Read(x3,y3);
        Read(x4,y4);
        S:=abs((x1*y2-x2*y1)+(x2*y3-x3*y2)+(x3*y1-x1*y3));
        S1:=abs((x2*y3-x3*y2)+(x3*y4-x4*y3)+(x4*y2-x2*y4));
        S2:=abs((x1*y3-x3*y1)+(x3*y4-x4*y3)+(x4*y1-x1*y4));
        S3:=abs((x1*y2-x2*y1)+(x2*y4-x4*y2)+(x4*y1-x1*y4));
        If (S1>0) and (S2>0) and (S3>0) = TRUE
        then
            Begin
            If S1+S2+S3=S then
              write ('YES')
              else
              write ('NO');
            End
        else
          write ('NO');
          readln;
    End.
    
     
    Last edited: 9 Tháng tám 2019
  2. trà nguyễn hữu nghĩa

    trà nguyễn hữu nghĩa Cựu Phó Nhóm Vật Lí |Cây bút Thơ|Thần tượng VH Thành viên

    Bài viết:
    2,794
    Điểm thành tích:
    569
    Nơi ở:
    Phú Yên
    Trường học/Cơ quan:
    Trường THPT Lương Văn Chánh

    sao lại có bằng true nhỉ, với lại mình chả hiểu thuật toán đang viết gì
     
    dangtiendung1201 thích bài này.
  3. dangtiendung1201

    dangtiendung1201 Mod Toán Cu li diễn đàn HV CLB Hóa học vui

    Bài viết:
    1,126
    Điểm thành tích:
    176
    Nơi ở:
    Thái Bình
    Trường học/Cơ quan:
    THCS Lương Thế VInh-Thành phố Thái Bình

    Em sửa lại rồi ạ. Thuật toán dùng công thức Shoelace (do không biết dùng véctơ thế nào nên em phải xài nó) để tính diện tích tam giác. Lúc đầu em viết nhầm sau sửa lại rồi ạ.
    Cái chỗ = TRUE là để kiểm tra xem cái điểm X nó có nằm trên cạnh của tam giác không ạ. Nếu X mà nằm trên cạnh tam giác hay trùng với đỉnh tam giác thì 1 trong 3 cái S1, S2, S3 sẽ =0.
     
  4. trà nguyễn hữu nghĩa

    trà nguyễn hữu nghĩa Cựu Phó Nhóm Vật Lí |Cây bút Thơ|Thần tượng VH Thành viên

    Bài viết:
    2,794
    Điểm thành tích:
    569
    Nơi ở:
    Phú Yên
    Trường học/Cơ quan:
    Trường THPT Lương Văn Chánh

    Vậy thuật toán này có vấn đề gì nữa đâu nhỉ
     
    dangtiendung1201 thích bài này.
  5. dangtiendung1201

    dangtiendung1201 Mod Toán Cu li diễn đàn HV CLB Hóa học vui

    Bài viết:
    1,126
    Điểm thành tích:
    176
    Nơi ở:
    Thái Bình
    Trường học/Cơ quan:
    THCS Lương Thế VInh-Thành phố Thái Bình

    Lúc đầu có nhưng giờ em sửa được rồi ạ :D. Em cảm ơn anh vì đã quan tâm.
     
    trà nguyễn hữu nghĩa thích bài này.
Chú ý: Trả lời bài viết tuân thủ NỘI QUY. Xin cảm ơn!

Draft saved Draft deleted

CHIA SẺ TRANG NÀY

-->