Bạn ghé thăm diễn đàn lần đầu? hãy đăng ký ngay bây giờ để tham gia.
  • Đăng nhập:

Chào mừng bạn đến với ITVNN FORUM - Diễn đàn công nghệ thông tin.

Nếu đây là lần đầu tiên bạn tham gia diễn đàn, xin mời bạn xem phần Hỏi/Ðáp để biết cách dùng diễn đàn. Để có thể tham gia thảo luận bạn phải đăng ký làm thành viên, click vào đây để đăng ký.


  • Partner Area
    • ITVNN HOSTING - Thiết kế website, Cung cấp Domain, Hosting, VPS Việt Nam Anh Hùng - Thông tin truyền thông
kết quả từ 1 tới 3 trên 3

Ðề tài: In ma trận (Hay)

Tăng kích thước phông chữ Giảm kích thước phông chữ
  1. #1
    ndh1ep's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Oct 2009
    Thành viên thứ
    1591
    Tuổi
    34
    Giới tính
    Bài gởi
    2
    Level: 17 [?]
    Experience: 10,635
    Next Level: 13,278
    Cảm ơn 1
    Cảm ơn 0 lần / 0 Bài viết

    Default In ma trận (Hay)  

    Bây giờ đang bận mấy bài VB. Tự nhiên thấy bài này hay quá. Chia sẻ cho mọi người cùng tham khảo.

    Đề Bài:
    Nhập một số nguyên bất kì. In ra ma trận hình xoắn ốc ngược từ tâm ra ngoài. Nếu là các số có nhiều hơn 1 chữ số thì tách ra để in.
    VÍ DỤ:
    n= 18
    3 1 2 1 1
    1 5 4 3 1
    4 6 1 2 0
    1 7 8 9 1 8
    5 1 6 1 7 1

    Đầu tiên đối với các số 1 chữ số thì:
    5 4 3
    6 1 2
    7 8 9

    Bắt đầu từ số 10 thì
    5 4 3
    6 1 2 0
    7 8 9 1
    Tối làm xong thì quay ra bài này xem thế nào. Có vẻ khó đấy. Ai có thuật toán post cho tớ tham khảo với nhé !.

  2. #2
    hoang_fc's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Sep 2009
    Thành viên thứ
    139
    Tuổi
    34
    Giới tính
    Bài gởi
    73
    Level: 32 [?]
    Experience: 390,427
    Next Level: 453,790
    Cảm ơn 1
    Cảm ơn 2 lần / 2 Bài viết

    Default

    Ta chia ma trận in ra thành các vòng
    Ví dụ n = 18 có 4 vòng, vòng thứ 4 thì chỉ có 2 phần tử là 1 và 8
    Vòng có cạnh là độ dài có số 1 => có 1 phần tử
    Vòng có cạnh độ dài 3 2, 3, 4, 5, 6, 7, 8, 9 => có 8 phần tử
    Vòng có cạnh dộ dài 5 ...... => có 16 phần tư

    ... Độ dài của cạnh của mỗi vòng là 2n + 1 với n = 0, 1, 2, ....
    Công thức tính số phần tử của vòng thứ có cạnh x là:
    2*x + 2 * (x - 2) với x >=3 // Kiểm tra xem đúng ko nhé, tớ chưa check
    Bây giơ chỉ việc in ra ma trận, với ô (i,j) trong ma trận kết quả, bạn tính xem nó thuộc vòng thứ mấy, tính xem nó là giá trị nào rồi in ra
    Chú ý phải xử lý với vòng cuối cùng số phần tử của nó bị thiếu

    Good luck

  3. Thành viên sau đây nói lời Cảm ơn tới hoang_fc cho bài viết hữu ích này:

    ndh1ep (06-03-2010)

  4. #3
    HTT.itvn's Avatar

    Trạng thái
    Offline
    Họ tên
    Hoàng Thiên Thanh
    Tham gia ngày
    Oct 2009
    Thành viên thứ
    2889
    Đến từ
    Hà Tĩnh
    Giới tính
    Bài gởi
    2,814
    Level: 52 [?]
    Experience: 14,900,222
    Next Level: 16,259,327
    Cảm ơn 123
    Cảm ơn 1,701 lần / 895 Bài viết

    Default

    Hình như nhớ là đã làm ở đâu rồi ( dùng 4 lệnh for ) , sắp xếp theo tính giảm dần hay tăng dần theo hình xoắn ốc , có điều khác là các số gồm 2 số thì tách ra , để vài hôm nữa nhé . Mà bài này có lẽ thuộc môn Kỹ thuật lập trình thì phải
    Chuyên thiết kế website / forum / Modules ... Hỗ trợ trực tuyến : d.web_vn@yahoo.com

    -------------------------------------------------------------------------------------------------
    Bởi vì : " Anh chỉ mất đi một người không yêu anh,
    Nhưng em mất đi một người yêu em thật lòng ... "

    -------------------------------------------------------------------------------------------------





 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Quuyền Hạn Của Bạn

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