Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: khó hiểu về độ dài đườnggaasap khúc?

  1. #1
    Ngày gia nhập
    12 2018
    Bài viết
    1

    Question khó hiểu về độ dài đườnggaasap khúc?

    Nhập tọa độ x,y của một dãy n điểm sau đó tính độ dài đường gấp khúc lần lượt đi qua các điiểm theo thứ tự 2,3,...,n,1.
    Nghĩa là độ dài đường gấp khúc đi qua điểm thứ 2 rồi thứ 3 rồi đến n xong quay về điểm 1 và tính độ dài đường đi đó ạ?

  2. #2
    Ngày gia nhập
    07 2018
    Bài viết
    7

    Trích dẫn Nguyên bản được gửi bởi triutuat Xem bài viết
    Nhập tọa độ x,y của một dãy n điểm sau đó tính độ dài đường gấp khúc lần lượt đi qua các điiểm theo thứ tự 2,3,...,n,1.
    Nghĩa là độ dài đường gấp khúc đi qua điểm thứ 2 rồi thứ 3 rồi đến n xong quay về điểm 1 và tính độ dài đường đi đó ạ?
    Bạn vẽ ra là thấy mà. đây nè hình trên với hình dưới
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Untitled.png
Lần xem:	1
Size:		6.0 KB
ID:		66610
    Hình vẽ 4 điểm có tọa độ giống nhau nhưng cách vẽ khác nhau, nhìn vô hìnhbạn sẽ 2 hình có 2 đoạn 2-3, 3-4 là bằng nhau, nhưng đoạn 1-2 và 4-1 không băng nhau hay là cách vẽ 1,2,3,4 và 2,3,4,1 nó sẽ cho ra 2 giá trị khác nhau (trừ 1 số trường hợp nó sẽ có thể băng nhau)

  3. #3
    Ngày gia nhập
    02 2016
    Bài viết
    305

    Bạn viết 1 cái hàm con, nhận tham số là một mảng double, và hai điểm (số thứ tự của điểm) cần tính.
    Hàm sẽ tính khoảng cách giữa nó hai điểm trong mảng.

    Hàm chính của bạn sẽ làm một vòng lặp qua tùng điểm trong mảng, và cộng lũy tiến các khoảng cách.

    // giả sử bạn có mảng struct D; struct chứa tọa độ x và y của điểm
    double KhoangCach(Diem *D, int diem1, int diem2)
    {
    double dx = D[diem1].x - D[diem2].x, dy = D[diem1].y - D[diem2].y;
    return sqrt(dx*dx+dy*dy);
    }

    // code tính đường gấp khúc
    double doDai = 0.;
    for (int i=0; i < n; i++)
    doDai += KhoangCach(mang, i, (i < n-1)? i+1 : 0); // khoảng cách giữa i và điểm kế nó, nếu i là điểm cuối thì điểm kia là điểm đầu

    Tôi chỉ đưa ra đại khái thôi, bạn hải tự liệu những trường hợp đặc biệt như có điểm trùng nhau. Và theo lô gic của bạn thì nếu chỉ có 2 điểm thì chỉ tính 1 lượt hay cả 2 lượt đi về.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn