비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 113721
다음
진행 중
Lv.0
등록일: 2022-04-102022-04-10T11:33:24+09:00 2022-04-10T11:33:24+09:00카테고리: AutoCAD & CADian

삽입정렬을 lisp로 구현하는 코드에 오류가 생겼습니다.

삽입정렬을 lisp로 구현하는 도중에 코드가 틀려서 질문드립니다.

아래와 같은 c언어 코드를 lisp로 구현하고자 합니다.
#include <stdio.h>
int main(){
    int arr[5]={5, 16, 1, 4, 12};
    int temp;
    
    for(int i=0;i<4;i++){
        int j=i-1;
        while((arr[j] > arr[j+1])&&(j>=0)){
            temp=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=temp;
            j–;
        }
    }
    for(int i=0;i<5;i++){
        printf(“%dn”,arr[i]);
    }
    
    return 0;
}
아래는 제가  lisp 코드를 작성한 것입니다.
(setq temp 0)
;temp에 0을 받는다.
(defun insertsort(list 83 72 65 54 47 33 29 11))
;이런 식으로 배열을 일단 정의한다.
(loop for i from 0 to 7
(setq j (i-1))  ;변수 j와 i를 1로 정의한다.
(while(>(nth j insertsort)(nth j+1 insertsort))and (> j -1) 
;while((arr[j] > arr[j+1])&&(j>=0)) 을 적는다.
;여기서는 그냥 > j -1을 적는다.
(setq temp (nth j insertsort))
;temp=arr[j]
(setq (nth j insertsort)(nth j+1 insertsort))
;arr[j]=arr[j+1]
(setq (nth j+1 insertsort) temp)
;arr[j+1]=temp
(- j 1)
)
;j–
)
 ;문제의 배열 개수가 8개이므로 이런 식으로 for문을 지정한다.
(loop for i from 0 to 7
setq(a (nth i insertsort))
(print(i))
)
(print(insertsort))
어떤 부분이 잘못되었는지 궁금합니다.
답변해주시면 감사드리겠습니다.
  • 0
  • 1 1 답변
  • 68 조회
공유
  • Facebook

    관련 있는 질문들

    • 동적블록 신축에서 길이를 늘릴때 최종 길이를 입력 또는 늘려야 하는 차이만큼의 길이를 입력
    • 캐드 타일 개수 구하기
    • 캐드 선택할 때 마우스 옆에 박스안 초록동그라미, 파란동그라미 표시 어떻게 없애나요?
    • 캐드 용량이 16.8MB 인데 10MB 이하로 줄이고 싶습니다

    1 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 수야12 Lv.21
      2022-04-11T07:29:59+09:00답변 등록 답변 등록 일시 2022-04-11 7:29 am
      리습의 세계에 오신걸 환영합니다 
      리습은 배열(리스트)에 최적화 된 언어입니다 구지 C스타일로 어렵게 구성 하실 필요가 없습니다 
      일단 님 코드는 사칙연산 구현방식도 다르고  변수 선언도 안돼있네요 너무 성급하게 마음 먹지 마시고 리습 기본문법은 
      한번 훑어 보시고 시작하시길 추천드립니다 
      그리고 리습은 배열을 다루는 기본적인 함수가 너무 잘 돼있습니다 
      (defun c:ff(/ Lst)(vl-load-com)
       (setq Lst ‘( 1 5 2 4 3))
       (setq Lst(vl-sort Lst ‘<))
       (princ Lst)
       (princ)
      )

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter

    Sidebar

    질문하기
    공지사항

    • 국산 CAD ‘캐디안 2025’ 출시 사전 예약 진행 2024-09-27

    Adv 234x60

    aalan

    Adv 234x60

    aalan

    Adv 120x600

    aalan

    Explore

    • 홈
    • 카테고리
      • AutoCAD & CADian
      • Inventor & Solidworks
      • Revit & ArchiCAD
      • 자유질문
      • 기타
    • 투표
    • 커뮤니티 그룹
    aalan

    Footer

    Support

    • 회사 및 서비스 소개
    • 자주 묻는 질문
    • 문의하기

    Guide

    • 제휴/협업 안내
    • 광고 서비스 안내

    Policy

    • 서비스 이용약관
    • 개인정보 처리방침
    • 광고성 정보 수신 동의

    Contents

    • 고밍스토리
    • 리습 시리즈

    정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
    주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
    Copyright. 2012-2024 GOCAD All rights reserved