Hiển thị kết quả từ 1 đến 7 / 7
  1. #1
    Tham gia
    24-01-2007
    Bài viết
    251
    Like
    0
    Thanked 1 Time in 1 Post

    Mảng 1c - Sắp xếp âm dương

    - Thầy giáo cho đề pascal, mong được các anh chị hướng dẫn. Em cảm ơn!
    Nhập vào mảng 1 chiều.Sắp xếp mảng đó sao cho các số âm tăng dần, số dương giảm dần nhưng vị trí số âm, số dương trong mảng không thay đổi.

    Ví dụ, mảng: 13 -4 -7 8 -6 5 7 -2 6 23 15 9 4 -13 14 21
    Mảng sau khi sxep: 23 -21 -13 15 -7 14 13 -6 9 8 7 6 5 -4 4 -2

    ===========
    =>> Em không nắm được qui luật về vị trí. Mong các anh chị hướng dẫn!
    Quote Quote

  2. #2
    Tham gia
    13-01-2010
    Bài viết
    27
    Like
    2
    Thanked 5 Times in 5 Posts
    bạn xem lại test đi. nếu như này thì chẳng thấy quy luật nào thật

  3. #3
    Tham gia
    24-01-2007
    Bài viết
    251
    Like
    0
    Thanked 1 Time in 1 Post
    Bảo đảm test chính xác. Mình nhìn đề gõ ra mà! hjcccc

  4. #4
    Tham gia
    19-08-2012
    Bài viết
    24
    Like
    0
    Thanked 2 Times in 2 Posts
    Bạn hỏi lại người ra đề xem họ có "ấm đầu" không. Vì 2 lẽ:
    1-cái kết quả test của thày giáo bạn đã làm thay đổi vị trí các số âm, dương rồi.
    2-bản chất tất cả các loại sắp xếp trên hành tinh này đều làm dịch chuyển vị trí các phần tử trong mảng, vậy thì làm sao lại có điều kiện "ấm đầu": "....nhưng vị trí các số âm, dương không thay đổi" được? Trong tất cả những thứ vớ vẩn nhất của thế kỷ này là cái điều kiện cực kỳ vớ vẩn của thày giáo bạn. (Hay nói cụ thể hơn: thày giáo bạn chẳng hiểu gì về bản chất sắp xếp mảng cả!)

  5. #5
    Tham gia
    24-01-2007
    Bài viết
    251
    Like
    0
    Thanked 1 Time in 1 Post
    Bạn không được miệt thị thầy giáo của mình! Đây chính là bài số 2 trong đề thi tin trẻ không chuyên tỉnh Lâm Đồng năm học 2011-2012 diễn ra vào tháng 4/2012!

  6. #6
    Tham gia
    03-08-2010
    Bài viết
    137
    Like
    0
    Thanked 22 Times in 21 Posts
    thuật toán:
    - Chia dãy số của bạn ra 2 mảng âm dương
    +array_am: lưu số âm
    +array_duong: lưu số dương
    - Tạo 1 mãng trung gian đánh dấu âm dương
    vd: bạn có mảng -8 9 -9 8 9 -2
    --> thì mảng lưu sẽ ra như sau -,+,-,+,+,- (có thể 1 sẽ là + và 0 sẽ là trừ lưu trong mạng trung gian)
    - sắp xếp mảng âm và mảng dương theo yêu cầu giảm hoặc tăng là tùy đề bạn tự xem
    - dựa vào mãng trung gian bạn sẽ bỏ mãng dương vào vị trí + của mảng trung gian và mảng âm vào vị trí - của mãng trung gian
    --> xuất mảng trung gian là kết quả cuối cùng

    @AVATARBLACK: bạn không giải được thì đừng nói khó nghe quá
    Sửa+bảo trì web, viết addon cscart,..(01266371311)

  7. #7
    Tham gia
    24-01-2007
    Bài viết
    251
    Like
    0
    Thanked 1 Time in 1 Post
    To @thienha20: mình hiểu ý tưởng của bạn rồi! Thanks bạn nhiều lắm. Chúc bạn vui vẻ!

Bookmarks

Quy định

  • 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ể sửa bài viết của mình
  •