*소*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 3
검색어 입력폼
  • [공학기술]큐
    /* 책의 프로그램 5.6, 5.7을 이용하여 중위표기식을 입력하여 계산 결과를 얻는 프로그램을 구현하시오.연산자 %와 ^(거듭 제곱)추가하시오. %의 우선순위는 *와 같고 ^은 높다.프로그램 5.6-2와 같이 하기를 권장함.여러 식을 입력하여 테스트 하시오. */#include #include #include #include #define MAX_STACK_SIZE 100 // 스택 크기 지정// 열거형typedef enum{lparen, rparen,plus,minus,times,divide,operand,remainder,square}precedence;typedef int element; // 요소typedef struct StackType{ //스택element stack[MAX_STACK_SIZE];int top;}StackType;//초기화 함수void init(StackType *s){s->top=-1;}// 공백 상태 검사하는 함수int is_empty(StackType *s){return(s->top==-1);}// 포화 상태 검사하는 함수int is_full(StackType *s){return(s->top==(MAX_STACK_SIZE-1));}// 삽입하는 함수void push(StackType *s,element item){if(is_full(s)){printf("stack is fulln");return;}else{s->stack[++(s->top)]=item;}}// 뽑아 내는 함수element pop(StackType *s){if(is_empty(s)){printf("stack is emptyn");exit(1);}else{return s->stack[(s->top)--];}}//peek함수element peek(StackType *s){if(is_empty(s)){printf("stack is emptyn");exit(1);}else {return s->stack[s->top];}}// 연산자 구분precedence get_token(char *exp, char *symbol, int i){ *symbol=exp[i];switch(*symbol){case '(':return lparen;case ')':return rparen;case '+':return plus;case '-':return minus;case '*':return times;case '/':return divide;case '%':return remainder;case '^':return square;default:return operand;}}// 후위표기법으로 계산결과int eval(char exp[]){precedence token;int op1,op2,value,i=0;int len=strlen(exp);char ch;StackType s;init(&s);for(i=0;irear+1) % MAX_QUEUE_SIZE) == q->front);}void error(char *message){fprintf(stderr,"%sn",message);exit(1);}// 삽입 함수void enqueue(ListNode *q, element item){if( is_full(&q->data))error("큐가 포화상태입니다");q->data.rear = ((q->data.rear)+1) % MAX_QUEUE_SIZE;q->data.queue[q->data.rear] = item;}//삭제 함수element dequeue(ListNode *q, element item){if( is_empty(&q->data))error("큐가 공백상태입니다");q->data.front = (q->data.front+1) % MAX_QUEUE_SIZE;return q->data.queue[q->data.front];}element peek(ListNode *q){element item;if( is_empty(&q->data))error("queue is emptyn");else{item.num=q->data.queue[q->data.front].num;strcpy(item.name,q->data.queue[q->data.front].name);}return item;}// 노드를 동적으로 생성하는 프로그램ListNode *create_node(int id){ListNode *link=NULL;ListNode *temp;temp = (ListNode *)malloc(sizeof(ListNode));if( temp == NULL ) {fprintf(stderr, "메모리 할당 에러n");exit(1);}temp->data.front =temp->data.rear=0;temp->listid=id;temp->link = link;return temp;}//같은 학년 찾기ListNode *search(ListNode *head, int x){ListNode *p;p = head;while( p != NULL ){if(p->listid == x)return p; // 탐색 성공p = p->link;}return p; // 탐색 실패일 경우 NULL 반환}//삽입함수void insert_node(ListNode **phead, ListNode *new_node){ListNode *p=NULL;if( *phead == NULL ){ // 공백리스트인 경우new_node->link = NULL;*phead = new_node;}else if( p == NULL ){ // p가 NULL이면 첫번째 노드로 삽입new_node->link = *phead;*phead = new_node;}else { // p 다음에 삽입new_node->link = p->link;p->link = new_node;}}//삭제 함수void remove_node(ListNode **phead, ListNode *p, ListNode *removed){if( p == NULL )*phead = (*phead)->link;elsep->link = removed->link;free(removed);}//출력함수void display(ListNode *head){ListNode *p=head;int fr,re;while( p != NULL ){fr = p->data.front%MAX_QUEUE_SIZE;re = p->data.rear%MAX_QUEUE_SIZE;while(fr != re){fr++;printf("front:%d, rear:%dn", fr, re);printf( "%d학년 %d번 %sn",p->listid, p->data.queue[fr].num, p->data.queue[fr].name);}p = p->link;}printf("n");}//리스트 연결ListNode *concat(ListNode *head1, ListNode *head2){ListNode *p;if(head1==NULL) return head2;else if(head2==NULL) return head1;else{p=head1;while(p->link!=NULL)p=p->link;p->link=head2;return head1;}}// 테스트 프로그램main(){ListNode *list1=NULL,*list2=NULL,*list3=NULL,*list4=NULL;ListNode *list_last=NULL;ListNode *p;element a,b,c,d;//학년별 리스트 만들기insert_node(&list1,create_node(4));insert_node(&list2,create_node(3));insert_node(&list3,create_node(2));insert_node(&list4,create_node(1));//list1p=search(list1,4);a.num=5907;strcpy(a.name,"eric");enqueue(p, a);p=search(list1,4);a.num=5936;strcpy(a.name,"seven");enqueue(p, a);display(list1);//list2p=search(list2,3);b.num=5971;strcpy(b.name,"tony");enqueue(p, b);p=search(list2,3);b.num=5921;strcpy(b.name,"andy");enqueue(p, b);display(list2);//list3p=search(list3,2);c.num=5915;strcpy(c.name,"soeun");enqueue(p, c);display(list3);//list4p=search(list4,1);d.num=5984;strcpy(d.name,"steve");enqueue(p, d);display(list4);printf("n");//리스트 연결list_last= concat(list1,list2);list_last = concat(list_last,list3);list_last = concat(list_last,list4);display(list_last);}어려웠던 점2번에서 출력하는 함수가 가장 어려웠다. 원형 큐는 1부터 입력하고 0은 비워두는 것입력할 땐 하나하나 하는 것 좀더 제어할 수 있도록 하고 싶었는데 계속해 봐도 잘되지 않는다. 좀더 공부해서 내 마음대로 제어할 수 있도록 코딩할 것이다.
    공학/기술| 2007.06.20| 10페이지| 1,000원| 조회(174)
    미리보기
  • [공학기술]큐로 3명의 학생 입력 받기
    #include #include #include #define MAX_QUEUE_SIZE 4typedef struct{char name[20];int id;}element;typedef struct{element queue[MAX_QUEUE_SIZE];int front, rear;}QueueType;void error(char *message){printf("%sn", message);exit(1);}void init(QueueType *q){q->front=q->rear=0;}// 공백 상태 검출 함수int is_empty(QueueType *q){return (q->front == q->rear);}// 포화 상태 검출 함수int is_full(QueueType *q){return ((q->rear+1)%MAX_QUEUE_SIZE == q->front);}// 삽입 함수void enqueue(QueueType *q, char name[20], int id){if( is_full(q))error("큐가 포화상태");q->rear = (q->rear+1) %MAX_QUEUE_SIZE;q->queue[q->rear].id = id;strcpy(q->queue[q->rear].name,name);}// 삭제 함수element dequeue(QueueType *q){ if( is_empty(q))error("큐가 공백상태");q->front = (q->front+1) %MAX_QUEUE_SIZE;return q->queue[q->front];}element peek(QueueType *q){ if( is_empty(q))error("큐가 공백상태");return q->queue[(q->front+1)%MAX_QUEUE_SIZE];}void main(){QueueType a;init(&a);enqueue(&a,"a",1);enqueue(&a,"b",2);enqueue(&a,"c",3);printf("front=%d rear=%dn", a.front, a.rear);dequeue(&a);printf("%s, %d n", a.queue[a.front].name,a.queue[a.front].id);dequeue(&a);printf("%s, %d n", a.queue[a.front].name,a.queue[a.front].id);dequeue(&a);printf("%s, %d n", a.queue[a.front].name,a.queue[a.front].id);printf("front=%d rear=%dn", a.front, a.rear);}
    공학/기술| 2007.06.20| 2페이지| 1,000원| 조회(149)
    미리보기
  • [감상문]행복이란 평가B괜찮아요
    (서울=연합뉴스) 강병철 기자 = 한국 직장인들은 행복해지기 위해서 경제적인 여유가 가장 필요하다고 꼽은 반면 중국 직장인들은 행복의 조건 1위로 건강을 들었다.1일 채용포털 잡코리아가 중국 HR업체 차이나HR닷컴과 공동으로 한국 직장인 1천203명, 중국 직장인 1천37명을 대상으로 행복한 삶을 만들기 위해 가장 필요한 것은 무엇인지에 대해 질문한 결과(복수응답) 한국 응답자의 45.4%는 경제적 여유를 꼽았다.그 다음은 건강(40.4%) 화목한 가정생활(30.9%), 만족스런 직장생활(26.4%) 등이 뒤를 이었다.반면 중국 직장인들은 행복의 조건으로 건강(85.9%), 화목한 가정생활(74.5%), 사회적인 대인관계(71.5%) 등의 순으로 꼽아 한국 직장인들과 차이를 보였다.현재 행복한지 여부를 묻는 항목에는 한국 응답자의 11%, 중국 응답자의 18.5%가 각각 그렇다고 답해 중국이 한국보다 높았으며 반대로 지금 행복하지 않다는 답변은 한국이 37.9%로 중국(28.3%)보다 많았다.한편 가장 큰 스트레스 요인으로는 한국(41.4%)과 중국(31.5%) 직장인 모두 직장생활을 많이 꼽았다.soleco@yna.co.kr(끝)저작권자(c)연합뉴스.무단전재-재배포금지]행복이란 자신의 삶에 대한 자기만족이라 정의할 수 있다. 때문에 각자의 문제일 수밖에 없고, 다차원적일 수밖에 없다고 본다. 행복의 조건이라면 돈, 건강, 인간관계, 심성 등이라 할 수 있을 것이다. 주제가 돈과 행복이므로 돈에 대한 얘가를 중심으로 엮어나가볼까 한다.돈: 물질문명의 세상에서 돈없이 살아간다는 것은 생각할 수도 없다. 대부분의 사람들은 돈이 많으면 좀 더 행복해질 것이라고 생각할 것이다. 그러나 돈이 행복의 조건은 될 수 있어도 행복 그 자체는 아니다. 돈이 많아도 불행하게 사는 사람들도 많이 있다는 말이다.돈이 곧 행복이라면 6~70년대 보릿고개를 살아왔던 시절에는... 아니, 백년 전... 천년 전... 그 이전으로 거슬러 옛날로 갈수록 점점 더 인간의 삶은 불행한 삶을 살았다고 보아야할 것이다. 그러나 우리 선조들의 삶이 지금의 우리들 삶보다 불행했었으리라는 것은 기우이다. 컴도 티비도 전기도 없었어도, 아니 초롱불마저 없던 먼 옜날 선사시대 사람들의 삶이 지금보다 불행했었다고 할 수 없을 것이다. 오히려 지금보다 참된 행복을 누리며 살았을 것이라는 생각도 해 본다. 돈많은 미국이나 일본사람들이 동남아나 아프리카의 가난한 나라 사람들보다 행복할 것이다는 것은 오산이다. 삶의 만족도에서 돈많은 나라 사람들이 가난한 나라 사람들보다 오히려 못하다.돈이나 권력, 명예 이런 것들이 삶의 치장은 될 수 있겠지만 그것들을 얻는 것이 곧 행복인 것은 아니다. 내가 1억의 재산을 가지고, 몇백만 원 또는 많아봐야 몇천만 원의 재산밖에 없는 가난한 마을에가서 산다면... 혹은 몇 십억 또는 몇 백억의 재산들을 가진 부자마을에 가서 산다면 나는 1억의 내 재산과 상관없이 행복과 불행을 왔다갔다 하게 될 것이다. 내 주변사람들이 나보다 못하면 나는 행복하고 나보다 좋으면 나는 불행하고, 이렇게 남과의 비교에서 오는 행복이라면 그것은 참된 삶도 참된 행복도 아니라고 본다. 그럼에도 대부분의 이 시대 사람들의 삶의 행불은 남과의 비교에서 오는 것 또한 사실인 것 같다. 이것은 돈, 권력, 명예 지상주의가 낳은 시대적 병리현상이라 볼 수 있을 것이다.
    독후감/창작| 2007.06.20| 2페이지| 1,000원| 조회(361)
    미리보기
전체보기
받은후기 1
1개 리뷰 평점
  • A+최고예요
    0
  • A좋아요
    0
  • B괜찮아요
    1
  • C아쉬워요
    0
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 02일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
7:42 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감