Trang 1 trên tổng số 5 123... Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 41 kết quả

Đề tài: Tạo chữ bất kỳ bằng các dấu * trong lập trình C

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

    Unhappy Tạo chữ bất kỳ bằng các dấu * trong lập trình C

    Dear các Anh/Chị!

    Hiện tại em gặp phải một bài tập rất nan giải, rất mong các anh chị giúp em, nội dung bài này như sau:

    "Nhập từ bàn Phím một chữ In Hoa bất kì : từ A--->Z , xuất ra một chữ cái y như vậy Dưới dạng là dấu *(dấu sao). ví dụ như nhập vào A thì xuất ra chữ các dấu sao* có hình chữ A, nhập chữ H thì xuất ra các dấu * có hình chữ H.....
    Bao nhiêu dấu sao * thì tùy ý, miễn sao ra chữ In Hoa dạng sao là được rồi."
    Bài này em nghe nói là làm theo về MẢNG.

    Cảm ơn các anh chị!

    Chú ý: Bạn vui lòng ghi rõ tiêu đề topic khi post bài.Vui lòng đọc qua nội quy trước khi post bài, vi phạm lần nữa mình sẽ làm theo nội quy.Đã thay đổi lại tiêu đề bài viết của bạn cho hợp với câu hỏi.
    Đã được chỉnh sửa lần cuối bởi comeonbaby : 28-02-2008 lúc 08:29 PM.

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

    Theo ngu kiến của em thì thế này
    E hèm E hèm.
    Bác chịu khó viết 26 cái hàm mỗi hàm in ra một chữ từ A-Z. Sau đó bác viết cái menu bắt bàn phím nếu người dùng nhập là A thì gọi hàm in chữ A ra là được
    ví dụ cái menu thế "lày"
    Code:
      char chon;
      cin>>chon;
      switch(chon)
      {
       	case 'A':
       	{ Gọi hàm in A ra }
            ..............
      }
    Nghe có vẻ ngu vãi, nhưng làm được đấy, hố hố =))

  3. #3
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    oạch oạch !
    Cái này bạn phải lưu trữ các tọa độ của từng chữ cái thôi, với mỗi ký tự là một node.
    ex:
    Bạn có thể tạo một mảng chuẩn là 8x8(hoặc to hơn nếu bạn thấy hợp lý, vẽ ra giấy ấy).
    Với chữ A:
    (1,4)(1,5)
    (2,4)(2,5)
    (3,3)(3,6)
    (4,3)(4,6)
    (5,2)(5,7)
    (6,2)(6,7)
    (7,1)(7,8)
    (8,1)(8,8)

    , bạn thử vẽ ra xem có giống không?
    Theo tôi chỉ có cách vẽ tọa độ thủ công với từng chữ.
    -> save text.txt (or ...) với từng chữ bạn vẽ.(theo tôi thì nên để dạng chuỗi và khi load thì tách ra như vậy hay hơn cả, file text này bạn tự tạo được hoặc dùng chương trình cũng được)
    Rồi khi cho nhập thì tìm kiếm ( hoặc khi chạy thì load)
    Mỗi cách vẽ thủ công thôi chứ chả có cách nào cả.
    Trước đây mới học phần đồ họa, có bài vẽ tường gạch.
    Tôi có nghĩ qua bài này, nhưng vẫn phải vẽ thủ công thôi.
    Có ý tưởng hay bạn post lên, tôi học tập với nhé.
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

  4. #4
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    Trích dẫn Nguyên bản được gửi bởi Pro8xVN Xem bài viết
    Theo ngu kiến của em thì thế này
    E hèm E hèm.
    Bác chịu khó viết 26 cái hàm mỗi hàm in ra một chữ từ A-Z. Sau đó bác viết cái menu bắt bàn phím nếu người dùng nhập là A thì gọi hàm in chữ A ra là được
    ví dụ cái menu thế "lày"
    Code:
      char chon;
      cin>>chon;
      switch(chon)
      {
       	case 'A':
       	{ Gọi hàm in A ra }
            ..............
      }
    Nghe có vẻ ngu vãi, nhưng làm được đấy, hố hố =))
    Không nên làm vậy đâu. Tốt nhất là truy xuất tìm kiếm như vậy chương trình không bị dài và sáng hơn.
    Nên ghi ra file thì hay hơn.
    Hàm in thì tất nhiên phải có rồi, khi gọi chỉ việc tách chuỗi và in theo tọa độ là được chữ như mong muốn thôi.
    Đó là chút ý kiến.
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

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

    Ý tưởng viết đủ 26 hàm ko phải là tồi đâu . Em nghĩ thực sự là cả 26 chữ cái đều ko có quy luật nào cả . Chẳng qua chỉ là những ký tự khác nhau mà thôi .

  6. #6
    Ngày gia nhập
    10 2006
    Bài viết
    107

    Mặc định Tạo chữ bất kỳ bằng các dấu * trong lập trình C

    @ OnlyLove : Bài này đúng là map chữ theo point định sẵn như cậu là tốt nhất rồi. Để dễ làm thì nên fix kích thước của một char khi xuất ra (vd : Height = 5, Weight = 3), còn thích linh động thì thuật toán sẽ dài hơn đó, kiểu như chỉnh kích thước của font chữ đó mà T_T.
    Nói là một chuyện, làm là một chuyện. Chi bằng ta làm xong rồi hãy nói như vậy thì nói và làm sẽ là một chuyện.

  7. #7
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    Trích dẫn Nguyên bản được gửi bởi sieuphuong Xem bài viết
    Ý tưởng viết đủ 26 hàm ko phải là tồi đâu . Em nghĩ thực sự là cả 26 chữ cái đều ko có quy luật nào cả . Chẳng qua chỉ là những ký tự khác nhau mà thôi .
    Bạn thử nghĩ thế này nhé.
    Nếu bây h bạn vẽ chữ Y thì bạn sẽ vẽ như thế nào nếu bạn không vẽ thử nó ra giấy?
    Khi bạn vẽ ra giấy, vậy vẽ như thế nào cho đẹp?
    Bạn thử lấy một tờ giấy, rồi vẽ nó thành bảng ( as matrix) rồi bạn tô sao cho đẹp nhất.
    Như vậy mỗi điểm sẽ là tọa độ Poi(x,y), tất cả các Poi(x,y) sẽ tạo ra chữ.
    ---> như vậy đó chính là sự thủ công (thủ công là việc phải vẽ ra giấy)vì các chữ cái không theo quy luật( đúng với nhận xét của bạn).
    Thay vì ta phải viết lệnh 26 hàm( very long) (tại sao dài? việc tạo ra 26 hàm rồi , bạn lại phải tạo ra 26 cái Case nữa) ta chỉ việc tạo một tệp với mỗi hàng là một chuỗi cho từng chữ tương ứng là các tọa độ.
    Khi muốn thay đổi bạn chỉ việc mở tệp bằng notepad và thay đổi (---> easy).
    Bạn nghĩ cách nào hay hơn?(bởi vì viết 26 cái hàm thì bạn vẫn phải vẽ ra giấy để lấy tọa độ của nó mà thôi).
    Có gì không đúng , xin góp ý.
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

  8. #8
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Viết 26 cái hàm lưu vào mãng dùng con trỏ hàm T_T. Còn vẽ sao cho đẹp thì tùy tác giả, tui vẽ cũng xấu đau xấu đơn ! Có thể có 1 số chữ có điểm chung nhưng làm vậy code chỉ tổ rối thêm. Viết 26 cái cho rõ ràng cũng được. Cái này C thì dùng con trỏ hàm là ok rùi, nếu C++ thì dùng #include <map> hay #include <multimap> cũng ok.
    -> Thử thêm cho người dùng nhập vào 1 câu hay 1 từ rùi vẽ ra xem T_T chắc cũng hay hơn nhỉ .
    Cái bài dạng này hình như Huynguyen đã có từ làm 1 bài như vậy nhưng vẽ số. (0-9) thì phải, check thử dưới nick ổng coi sao.

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

    Vâng ...em cảm ơn !
    Nhưng em vẫn thấy mơ hồ về bài này quá : tãi vì em mới học lập trình C nên em chỉ biết về Mảng,Hàm..,giải thuật của em còn rất yếu, các anh /chị có thể giúp em giải theo cách đơn giản rõ ràng hơn ạ.

  10. #10
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Em viết hàm chữ L và T ra trước, 2 cái này đơn giản, hàm này không nhận đối số gì hết ví dụ :
    PHP Code:
    void DrawLetterL()
    {


    Viết 1 hàm ra anh coi đã rùi anh chỉ tiếp .

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