Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Mình có vai bt ko bit lam.Giup toi voi

  1. #1
    Ngày gia nhập
    05 2007
    Bài viết
    9

    Mặc định Mình có vai bt ko bit lam.Giup toi voi

    Đây là BT C/C++ chứ ko phải bt toán đâu nha. GV cho minh lam, minh ko bit phai lam sao ? Ban nao bit chi minh dzvoi

    1. Trong mat phang cho n diem x1 - xn. Tim tam va ban kinh cua duong tron nho nhat chua tat ca cac diem x1 - xn. (Khong nhat thiet phai tim ra duong tron nho nhat ma chi can tim mot duong tron du nho la duoc).
    2. Cho n diem x1 - xn trong mat phang. Tim hinh chu nhat nho nhat chua n diem do.
    3. Trong mat phang nhap vao toa do 3 dinh cua mot tam giac va mot diem p. Cho biet diem p do nam trong, ngoai hay tren bien cua tam giac.
    4. Ma BCD cua mot chu so duoc tao ra bang cach viet lien tiep cac gia tri nhi phan cua tung chu so. Hay viet chuong trinh nhap vao mot so nguyen n va xuat ra ma BCD cua so do.
    VD:
    23 -> 0010 0011

  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mình thấy 3 bài đầu hình như nằm chung vào một dạng mà nếu mình giải được 1 bài thì có thể giải được những bài còn lại , mình đọc ở đâu đó rồi mà lại quên mất nhỉ ? Nhưng theo mình nghĩ dạng này chắc chắn đã có giải thuật trước rồi ? Nhưng giải một bài toán phương trình bậc 2 vậy . Còn với bài 4 thì cậu có thể tách 2 số đó ra ? chuyển qua nhị phân rồi in ra thôi .

    Khi nào giải được mấy bài còn lại thì post lên cho anh em học hỏi với ha ?

  3. #3
    Ngày gia nhập
    01 2007
    Nơi ở
    Hải Phòng
    Bài viết
    210

    Mình đang phân vân ko biết nên chuyển topic này vào box C/C++ truyền thống hay là Giải thuật. Mình tạm chuyển sang box C/C++ truyền thống. Nếu ai có kinh nghiệm thì chỉ cho mình biết những trường hợp như này nên chuyển sang box nào nghen.

    Về bài toán của bạn, mình nghĩ là bạn nên kiểm tra toàn bộ các điểm, và tìm ra được các giá trị như : x nhỏ nhất, y nhỏ nhất, x lớn nhất, y lớn nhất. Ví dụ, trong tất cả các điểm của bạn thì có điểm (2,10) có x=2 là nhỏ nhất, điểm (3,5) có y=5 là nhỏ nhất. Từ đó xác lập ra được đỉnh trên-trái của hình chữ nhất chính là (2,5). Làm tương tự với dỉnh dưới-phải của hình chữ nhật.

    Tìm được hình chữ nhật kia rồi thì xong bài 2. Bài 1, bạn có thể tìm tâm hình tròn = tâm của hình chữ nhật, R = 1/2 đường chéo.
    pEnGwINUS.

  4. #4
    Ngày gia nhập
    05 2007
    Bài viết
    9

    Đúng như lời bạn đã nói là gv có nói trước đó, nhưng vì lúc đó ko hiểu gì cả nên mình chẳng ghi chú lại nên bây giờ mới chết nè.Nên mình nhờ bạn viết code hoàn chỉnh giùm mình nha.Thankss

  5. #5
    Ngày gia nhập
    05 2007
    Bài viết
    9

    Nhưng nếu nói như bạn "Về bài toán của bạn, mình nghĩ là bạn nên kiểm tra toàn bộ các điểm, và tìm ra được các giá trị như : x nhỏ nhất, y nhỏ nhất, x lớn nhất, y lớn nhất. Ví dụ, trong tất cả các điểm của bạn thì có điểm (2,10) có x=2 là nhỏ nhất, điểm (3,5) có y=5 là nhỏ nhất. Từ đó xác lập ra được đỉnh trên-trái của hình chữ nhất chính là (2,5). Làm tương tự với dỉnh dưới-phải của hình chữ nhật." thì mình vẫn chưa hiểu làm thế nào có sẵn các toạ độ ??? Mình chưa học Mảng mà !!!!

  6. #6
    Ngày gia nhập
    01 2007
    Nơi ở
    Hải Phòng
    Bài viết
    210

    Mặc định Mình có vai bt ko bit lam.Giup toi voi

    thì mình vẫn chưa hiểu làm thế nào có sẵn các toạ độ
    Chẳng phải cậu nói là : "Trong mat phang cho n diem x1 - xn". Mà đã là cho thì người dùng phải nhập những điểm đó rồi.

    Nên mình nhờ bạn viết code hoàn chỉnh giùm mình nha
    Diễn đàn có quy định là ko làm bài hộ member mà chỉ hướng dẫn thôi. Vả lại mình ko có nhiều thời gian nghiên cứu thuật giải và viết code cho bạn. Mình chỉ đọc qua và đoán thuật giải sơ sơ thôi, chẳng biết đúng sai sao nữa.
    pEnGwINUS.

  7. #7
    Ngày gia nhập
    02 2007
    Nơi ở
    TP.HCM - dưới cầu SG
    Bài viết
    12

    Mình cũng ko rõ lắm, nhưng có lẽ 3 bài đầu nằm trong phần "đồ họa máy tính". Tuy nhiên thuật toán ko có thì làm sao lập trình được. Theo mình nghĩ, bạn hieubm đoán thuật giải cũng chưa chắc đúng bởi vì có trường hợp một hình chữ nhật nghiêng lại "có lợi" hơn, chẳng hạn có 3 điểm như sau:
    Code:
       *
    *
    
            *
    Bài 4 rất dễ, nên dùng bảng tra, chẳng hạn 0 <->"0000", 1 <->"0001"... 9 <-> "1001". Bạn cứ "cắt" từng chữ số một và in ra ( dùng stack hoặc đệ quy ).
    Mình chỉ nhắc lại là: "ko có thuật giải" hoặc "có thuật giải mà ko hiểu" hoặc "hiểu thuật giải mà không biết lập trình" thì rất khó có hy vọng.
    Thân!
    Nơi nào khiến anh dừng bước, nơi đó có em.

  8. #8
    Ngày gia nhập
    01 2007
    Nơi ở
    Hải Phòng
    Bài viết
    210

    Trích dẫn Nguyên bản được gửi bởi whoru
    Theo mình nghĩ, bạn hieubm đoán thuật giải cũng chưa chắc đúng bởi vì có trường hợp một hình chữ nhật nghiêng lại "có lợi" hơn
    Hic hic ! Chỉ cần vẽ được một hình chữ nhật nghiêng là cũng đủ khó rồi. Nói gì đến chuyện tìm hình chữ nhật nhỏ nhất chứa các điểm nữa. Không hiểu thầy giáo của bạn vnnghia03 có chơi khó học sinh đến mức như vậy ko nhỉ ? Nếu thầy bạn bắt tìm cả hình chữ nhật nghiêng nữa thì OK lên đây để mình nghĩ tiếp thuật toán - mà cũng chưa chắc đã nghĩ ra đâu nghen.
    pEnGwINUS.

  9. #9
    Ngày gia nhập
    05 2007
    Bài viết
    9

    Mình kiếm đc thuật toán nè. các bạn đọc thử xem :
    Bài 1 Trong mặt phẳng cho n điểm x1 - xn . Tìm tâm và bán kính của đường tròn nhỏ nhất chứa tất cá các điểm x1-xn . (Không nhất thiết phải tìm ra đường tròn nhỏ nhất mà chỉ cần tìm một đường tròn đủ nhỏ là được)
    Bài 2 : Cho n điểm x1-xn trong mặt phẳng . Tìm hình chữ nhật nhỏ nhất chứa n điểm đó

    Giải thuật bài 1 & bài 2
    Mỗi một điểm trên mặt phẳng có toạ độ là p(x,y).
    Trước tiên ta tìm xem điểm nào có p.x là nhỏ nhất và ta gọi là MinX, tương tư như vậy điểm có p.x lớn nhất ta gọi là MaxX, điểm có p.y nhỏ nhất ta gọi là MinY, điểm có p.y lớn nhất ta gọi MaxY.
    Như vậy tất cả các điểm đều nằm trong hình chữ nhật có chiều ngang (dài hoặc rộng) là (MaxX-MinX), và chiều đứng (dài hoặc rộng) là (MaxY-MinY).
    Ta so sánh xem hai cái này cái nào là chiều dài của hình chữ nhật này. (Bài 2)
    Vậy đường tròn nhỏ nhất chứa các điểm này chỉ có thể là đường tròn ngoại tiếp hình chữ nhật này thôi.
    Vì vậy tâm của đường tròn này là : ((MinX+(MaxX-MinX)/2),(MinY+(MaxY-MinY)/2)).
    Bán kính là : sqrt(((MaxX-MinX)/2))^2+((MaxY-MinY)/2))^2).(bài 1)
    Bài 3 : Trong mặt phẳng nhập vào tọa độ 3 đỉnh của 1 tam giác và một điểm P . Cho biết điểm P đó nằm trong , ngoài hay trên của tam giác

    Giải thuật bài 3
    Trước tiên ta phải tìm 3 đường thẳng đi qua 3 đỉnh để tạo thành tam giác. Và ta tạm gọi như sau : theo trực giác từ ngoài nhìn vào thì ta gọi đường thẳng tạo ra cạnh bên trái tam giác là đường thẳng bên trái, còn đường thẳng đi qua cạnh bên phải là đường thẳng bên phải, còn đường kia là đường thẳng đáy.
    Ta xét điểm p(x,y) ta cần xét như sau:
    điểm đó nằm trong tam giác khi nó phải hội đủ 3 điều kiện sau :

    1. Nó phải nằm dưới đường thẳng bên trái có nghĩa là khi ta thay thế giá trị p.x vào trong phương trình đường thẳng y'=ax'+b thì giá trị p.y<y'. Nhưng hệ toạ độ ở đây ((0,0) ở góc trên trái màn hình) ngược lại với hệ toạ độ OXY ((0,0) ở góc dưới trái màn hình), do vậy mà điểm p(x,y) nằm dưới đường thẳng bên trái khi mà p.y > y'.
    2. Tương tự như thế, nó nằm dưới đường thẳng bên phải khi mà p.y>y''.
    3. Trường hợp điểm p(x,y) nằm trên đường thẳng đáy khi mà p.y<y'''.
    Như vậy điểm nào hội đủ 3 điều kiện đó thì nó là điểm nàm trong tam giác có 3 đỉnh đã cho.

    Tương tự điểm đó nằm trên tam giác khi nó phải hội đủ 3 điều kiện sau : giống như trên nhưng tất cả các điều kiện thay bằng dấu " = ". Và điểm đó năm ngoài khi không thỏa các điều kiện trện

    Bài 4 Mã Binary Coded Decima của một chữ số được tạo ra bằng cách viết liên tiếp các giá trị nhị phân của từng chữ số . hãy viết chương tìrnh nhập vào số nguyên n và xuất ra mã Binary Coded Decima của số đó
    Giải thuật bài 4
    Ở câu này thì ta cứ việc chuyển số cần mã hoá ra chuỗi. Tách chuỗi ra thành từng ký tự. Xét từng ký tự và chuyển chúng về số rồi đổi ra số nhị phân. Rồi đổi số nhị phân này ra chuỗi.
    Cứ như thế cho hết chuỗi, rồi ta nối các chưỡi 'nhị phân' vừa qui đổi lại thành một theo đúng thứ tự của chúng trong con số ban đầu.

    CÁC BẠN ƠI GIÚP MÌNH NHA , MÌNH KIẾM THUÂT TOÁN NÀY KHI63 LẮM ĐẤY . RÁNG NHA CÁC BẠNN

  10. #10
    Ngày gia nhập
    05 2007
    Bài viết
    9

    "Không hiểu thầy giáo của bạn vnnghia03 có chơi khó học sinh đến mức như vậy ko nhỉ ?" Sáng nay học , ổng bảo 4 bài đó dễ lắm, cho chỉ vui thui. thế mới ghê chứ. Potay ông thầy lun. hUuu. Hạn chót nộp bài là 15/5 dấy huuuu

Các đề tài tương tự

  1. Bài tập C++ giup em bài ney đi mấy a.chị
    Gửi bởi whitesuper1 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 8
    Bài viết cuối: 05-11-2012, 07:10 PM
  2. pro giup mình làm bài tập sắp sếp này với:
    Gửi bởi quay_92118 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 27-06-2012, 02:07 PM
  3. giup mình tìm lỗi sai với
    Gửi bởi naruto1991 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 06-05-2010, 08:24 PM
  4. đem số ki tự cua mảng bất kỳ.cac anh chi sủa giup em voi
    Gửi bởi fuji13 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 31-12-2009, 01:28 PM
  5. giup em voi gap lam
    Gửi bởi hacker_tinhyeu trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 26-11-2008, 11:09 AM

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