Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
kstdkhang

Chỉnh Sửa Lại Danh Sách Theo Một Số Điều Kiện

Các bài được khuyến nghị

kstdkhang    1

Bạn nào biết xin giúp mình thuật toán giải quyết vấn đề dưới đây nhé

*Giả sử có một danh sách phức hợp

(setq li ‘((3 a) (2 b (5 c) (6 a) (3 b (6 d) (3 c) (3 b (7 a)))

-Trong đó (3 a), (2 b, (5 c),… là các danh sách con 

Với  3, 2 , 5,… là các ký hiệu số thực bất kỳ ứng với từng danh sách con trong đó

Và a, b, c,…là các chữ cái bất kỳ ứng với từng danh sách con trong đó

*Bài toán: xắp xếp lại danh sách li trên theo kiểu

-trật tự danh sách trên không được thay đổi

-ký hiệu của danh sách con đầu tiên sẽ được đánh số 1 ( (3 a) thành (1 a))

- các ký hiệu trên được đánh số tăng dần theo cấp số cộng (+1)

-các chữ cái giống nhau sẽ được đánh số ký hiệu giống nhau

Như ví dụ trên sau khi giải quyết sẽ có dạng giống như

 ‘((1 a) (2 b) (3 c) (1 a) (2 b) (4 d) (3 c) (2 b) (1 a))

Diễn đạt có gì lủng củng các bạn bỏ qua nhé. Cám ơn các bạn nhé

 

  • Vote giảm 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Tot77    501
Bạn nào biết xin giúp mình thuật toán giải quyết vấn đề dưới đây nhé
*Giả sử có một danh sách phức hợp
(setq li ‘((3 a) (2 b (5 c) (6 a) (3 b (6 d) (3 c) (3 b (7 a)))
-Trong đó (3 a), (2 b, (5 c),… là các danh sách con 
Với  3, 2 , 5,… là các ký hiệu số thực bất kỳ ứng với từng danh sách con trong đó
Và a, b, c,…là các chữ cái bất kỳ ứng với từng danh sách con trong đó
*Bài toán: xắp xếp lại danh sách li trên theo kiểu
-trật tự danh sách trên không được thay đổi
-ký hiệu của danh sách con đầu tiên sẽ được đánh số 1 ( (3 a) thành (1 a))
- các ký hiệu trên được đánh số tăng dần theo cấp số cộng (+1)
-các chữ cái giống nhau sẽ được đánh số ký hiệu giống nhau
Như ví dụ trên sau khi giải quyết sẽ có dạng giống như
 ‘((1 a) (2  B) (3 c) (1 a) (2  B) (4 d) (3 c) (2  B) (1 a))
Diễn đạt có gì lủng củng các bạn bỏ qua nhé. Cám ơn các bạn nhé

 

Bạn thử cái này, có điều nếu là chữ cái thì phải nằm trong dấu "".

(defun test(/ L1 L2 L3 L4 LI N)
(setq li '((3 "a") (2 "b") (5 "c") (6 "a") (3 "b") (6 "d") (3 "c") (3 "b") (7 "a"))
n 1
l1 (mapcar 'last li)
l2 nil ; dict 1
l3 nil ; dict 2
l4 nil ; kq
) 
(foreach v l1
(if (not (member v l2))
(setq l2 (cons v l2)
l3 (cons (list v n) l3)
l4 (cons (list n v) l4)
n (1+ n))
(setq l4 (cons (reverse (assoc v l3)) l4))) 
)
(reverse l4)
)
  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×