Đến nội dung


Hình ảnh
- - - - -

Tạo Danh Sách Từ N Phần Tử Nhập Vào


  • Please log in to reply
11 replies to this topic

#1 kstdkhang

kstdkhang

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 27 April 2016 - 02:02 PM

Chào đai gia đình Cadviet. Mình cũng mới tìm hiểu về lisp mong để ứng dụng cho công việc nhanh hơn. Cho mình hỏi làm cách nào để tạo một danh sách từ n phần tử nhập vào. Ví dụ lúc đầu chương trình hỏi nhập số lượng n chiều dài. Sau đó nhập từng chiều dài và gộp lại thành 1 list. Xin cám ơn các bạn nhiều nhiều. Hi
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 27 April 2016 - 02:11 PM

(repeat (getint "\nn : ")
	(setq l (cons (getreal "Number :") l))
)

  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 27 April 2016 - 02:19 PM

Nếu chủ thớt sắp xếp 1->n thì thêm reverse nữa nhé.


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#4 kstdkhang

kstdkhang

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 27 April 2016 - 02:49 PM

Xin cảm ơn bạn ketxu và Doan Van Ha rất nhiều. Mình đã thêm cái hàm reverse và thêm "mắm muối" để thử nhưng kết quả k đúng ý mình lắm (không biết mình sai chỗ nào nữa). Ví dụ mình nhập n bằng 3, number lần lượt là 1, 2 , 3 thì kết quả như thế này: (3.0 2.0 1.0 2.0 3.0 2.0 1.0 3.0 2.0 1.0 3.0 2.0 1.0 3.0 2.0 1.0 3.0 2.0 1.0 

5.0 4.0 3.0 2.0 1.0 5000.0 4000.0 3000.0 2000.0 1000.0). Xin hỏi thêm có cách nào thêm số thứ tự sau number không? ví dụ number1 number2....numbern khi nhập vào để biết được mình đã nhập số liệu tới đâu không?

  • 0

#5 anti lazy

anti lazy

    biết lệnh erase

  • Members
  • PipPipPip
  • 107 Bài viết
Điểm đánh giá: 27 (tàm tạm)

Đã gửi 27 April 2016 - 03:22 PM

Cái lisp đã thêm mắm muối ntn, nhập số liệu và kq mong muốn ntn, chỉ đưa kq sai lên thì ai biết lisp sai chỗ nào?


  • 1

#6 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 27 April 2016 - 03:25 PM

Quick code cho bạn cho lẹ.

(defun C:HA(/ l)
(repeat (getint "\nn : ")
(setq l (cons (getreal "Number :") l)))
(reverse l))

  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#7 kstdkhang

kstdkhang

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 27 April 2016 - 03:35 PM

ủa, sao mình có tải file lisp mình lên rồi mà (chắc do mạng). Mình chạy được lisp rồi bạn Doan Van Ha. Cám ơn bạn nhiều nhiều. Bạn có thể giúp mình thêm tí nữa được không. Bạn có thể bổ sung thêm số thứ tự nhập vào sau Numner không, ví dụ như number1 number2….numbern. Để khi nhập vào mình biết đó nhập tới số mấy được không. Mình cảm ơn 


  • 0

#8 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 28 April 2016 - 08:43 AM

Bạn hổng nhiều quá. k chú ý cả việc khử biến nữa :)

(defun c:foo( / l i) ;Chu y phai khu bien L di nhe
(setq i 0)
(repeat (getint "\nn : ")
	(setq l (cons (getreal (strcat "Number " (itoa (setq i (1+ i))) ":")) l))
)
(reverse l)
)

  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#9 kstdkhang

kstdkhang

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 28 April 2016 - 03:35 PM

Cảm ơn bạn ketxu đã viết giúp mình lisp. Tối qua mình cũng thêm vào số trước number được nhưng phải tách ra từng hàm nhỏ để dễ hình dung. Chứ ketxu viết hàm lồng hàm trình độ cao nên khó với mình. Hi
  • 0

#10 kstdkhang

kstdkhang

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 04 May 2016 - 01:16 PM

 

Bạn hổng nhiều quá. k chú ý cả việc khử biến nữa :)

(defun c:foo( / l i) ;Chu y phai khu bien L di nhe
(setq i 0)
(repeat (getint "\nn : ")
	(setq l (cons (getreal (strcat "Number " (itoa (setq i (1+ i))) ":")) l))
)
(reverse l)
)
Bạn ketxu nếu có thời gian rảnh rổi có thể kiểm tra dùm mình lisp "xuất tọa độ từ file txt thành list" mình viết (có tham khảo tài liệu) bị sai chỗ nào mà nó không chạy được. Mình tìm không ra. Xin Cám ơn bạn trước nhé. Hi.
đây là danh sách mình ví dụ

  • 0

#11 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 04 May 2016 - 03:24 PM

 

Bạn ketxu nếu có thời gian rảnh rổi có thể kiểm tra dùm mình lisp "xuất tọa độ từ file txt thành list" mình viết (có tham khảo tài liệu) bị sai chỗ nào mà nó không chạy được. Mình tìm không ra. Xin Cám ơn bạn trước nhé. Hi.
đây là danh sách mình ví dụ

 

Sửa

(/= ")" (substr ln (strlen ln 1)))

thành:

(/= ")" (substr ln (strlen ln) 1))

hay gọn hơn
(not(wcmatch ln "*)"))


  • 1

#12 kstdkhang

kstdkhang

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 05 May 2016 - 11:15 AM

mình làm được rồi.Cám ơn bạn ndtnv nhiều nhiều nhé


  • 0