• 전문가 요청 쿠폰 이벤트
*석*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 3
검색어 입력폼
  • [컴퓨터공학] list
    #include #include //---------------------------------------------------typedef struct poly_node{int coef;int expon;struct poly_node *link;};typedef struct poly_node *poly_pointer;// poly_pointer ptr = NULL;//----------------------------------------------------void attach(int ,int ,poly_pointer *) ;int COMPARE(int a, int b) ;void input1(poly_pointer a) ;void input2(poly_pointer c) ;void padd(poly_pointer a, poly_pointer b, poly_pointer *front) ;main(){poly_pointer ptr ;poly_pointer ptr2 ;poly_pointer result ;// poly_pointer temp ;poly_pointer header1 ;ptr=(poly_pointer)malloc(sizeof(poly_pointer));ptr2=(poly_pointer)malloc(sizeof(poly_pointer));result = (poly_pointer)malloc(sizeof(poly_pointer));// temp = (poly_pointer)malloc(sizeof(poly_pointer));input1(ptr) ;header1 = ptr ;while(header1 != NULL){printf("%dX^%d ", header1->coef, header1->expon) ;header1 = header1->link ;}printf ("n");input2(ptr2);header1 = ptr2 ;while(header1 != NULL){printf("%dX^%d ", header1->coef, header1->expon) ;header1 = header1->link ;}printf ("n");padd(ptr, ptr2, &result) ;while(result){printf("%dX^%d ", result->coef, result->expon) ;result = result->link ;}printf ("n");}void input1(poly_pointer a){/* 두개의 노드를 가진 연결리스트 생성 */poly_pointer b;// a=(poly_pointer)malloc(sizeof(poly_pointer));b=(poly_pointer)malloc(sizeof(poly_pointer));a->coef=10;a->expon=2;a->link=b;b->coef=5;b->expon=1;b->link=NULL;}void input2(poly_pointer c){/* 두개의 노드를 가진 연결리스트 생성 */poly_pointer d;// c=(poly_pointer)malloc(sizeof(poly_pointer));d=(poly_pointer)malloc(sizeof(poly_pointer));c->coef=3;c->expon=3;c->link=d;d->coef=5;d->expon=0;d->link=NULL;}//---------------------------------------------------void padd(poly_pointer a, poly_pointer b, poly_pointer *front){ /* a와 b가 합산된 다항식을 반환 */poly_pointer rear, temp;int sum;rear = (poly_pointer)malloc(sizeof(poly_pointer));// if (IS_FULL(rear)) {// fprintf(stderr, "The memory is fulln");// exit(1);// }*front = rear;//---------------------------------------------------while(a && b)switch (COMPARE(a->expon, b->expon)) {case -1: /* a->expon < b->expon */attach(b->coef,b->expon,&rear);b = b->link; break;case 0: /* a->expon = b->expon */sum = a->coef + b->coef;if (sum) attach(sum,a->expon,&rear);a = a->link; b->link; break;case 1: /* a->expon > a->expon */attach(a->coef,a->expon,&rear);a = a->link;}//-----------------------------------------------------/* 리스트 a와 리스트 b의 나머지를 복사 */for (; a; a = a->link) attach(a->coef,a->expon,&rear);for (; b; b = b->link) attach(b->coef,b->expon,&rear);rear->link = NULL;/* 필요없는 초기 노드를 삭제 */temp = *front;*front = (*front)->link;// return *front;}//-------------------------------------------------------void attach(int coefficient, int exponent, poly_pointer *ptr){/* coef=coefficient이고 expon=exponent인 새로운 노드를 생성하고,그것을 ptr에 의해 참조되는 노드에 첨가한다. ptr을 갱신하여 이 새로운노드를 참조하도록 한다. */poly_pointer temp;temp = (poly_pointer)malloc(sizeof(poly_pointer));// if (IS_FULL(temp)) {// fprintf(stderr, "The memory is fulln");// exit(1);// }//-------------------------------------------------------temp->coef = coefficient;temp->expon = exponent;(*ptr)->link = temp;*ptr = temp;}int COMPARE(int a, int b){if (a > b)return 1 ;else if(a == b)return 0 ;elsereturn -1 ;}
    공학/기술| 2003.11.26| 3페이지| 1,000원| 조회(221)
    미리보기
  • [컴퓨터공학] infix-prefix 평가B괜찮아요
    #include #include #define MAX_STACK_SIZE 100#define MAX_EXPR_SIZE 100void postfix(void);typedef enum {lparen, rparen, plus, minus, times, divide, mod, eos, operand} precedence;int stack[MAX_STACK_SIZE];char expr[MAX_EXPR_SIZE];int isp[]={0, 19, 12, 12, 13, 13, 13, 0};int icp[]={20, 19, 12, 12, 13, 13, 13, 0};main(){printf("Input the expression : ");gets(expr);postfix();}precedence Delete(int *top){int token;if (*top == -1) {printf("Stack is empty. n");exit(1);}token = stack[(*top)]; (*top)--; return token;// return stack[(*top)--];}void add(int *top, precedence item){if (*top >= MAX_STACK_SIZE-1) {printf("Stack is full. n");exit(1);}++(*top); stack[*top] = item;// stack[++*top] = item;}void print_token(precedence token){if (token == plus) printf("+");else if (token == minus) printf("-");else if (token == times) printf("*");else if (token == divide) printf("/");else if (token == mod) printf("%");else printf ("%c", token);}precedence get_token(char *symbol, int *n){*symbol = expr[(*n)++];switch (*symbol) {case '(' : return lparen;case ')' : return rparen;case '+' : return plus;case '-' : return minus;case '*' : return times;case '/' : return divide;case '%' : return mod;case '' : return eos;default : return operand;}}void postfix(void){char symbol;precedence token;int n = 0; int k; int i;int top = 0; /* eos를 스택에 놓는다. */stack[0] = eos;for (token=get_token(&symbol,&n); token!=eos; token=get_token(&symbol,&n)) {if (token == operand){if (top == 0)add(&top, symbol);else{k=top;while(top > 0){add(&top, stack[top]);top=top-2;}stack[1]=symbol;top=k+1;}}//else if (token == rparen) {// while (stack[top] != lparen) /* 왼쪽 괄호가 나올 때까지 */// print_token(Delete(&top)); /* 토큰들을 제거해서 출력시킴 */// Delete(&top); /* 좌괄호를 버린다 *///}//-----------------------------------------------------------------else {/* symbol의 isp token의 icp symbol을 제거하고 출력 */if (isp[stack[top]] >= icp[token] && stack[top-1] != 0)print_token(token);else if (isp[stack[top]] == 12 && icp[token] < 19){k=top;for(i=0; i= icp[token]){k=top;while(top > 1){add(&top, stack[top]);top=top-2;}stack[2]=token;top=k+1;}elseadd (&top, token);}}while ((token=Delete(&top)) != eos){if(token != rparen && token != lparen)print_token(token);}printf("n");}//void postfix(void)//{// char symbol;// precedence token;// int n = 0;// int top = 0; /* eos를 스택에 놓는다. */// stack[0] = eos;// for (token=get_token(&symbol,&n); token!=eos;// token=get_token(&symbol,&n)) {// if (token == operand)// printf("%c", symbol);// else if (token == rparen) {// while (stack[top] != lparen) /* 왼쪽 괄호가 나올 때까지 */// print_token(delete(&top)); /* 토큰들을 제거해서 출력시킴 */// delete(&top); /* 좌괄호를 버린다 */// }//-----------------------------------------------------------------// else {// /* symbol의 isp token의 icp symbol을 제거하고 출력 */// while (isp[stack[top]] >= icp[token])// print_token(delete(&top));// add(&top, token);// }// }// while ((token=delete(&top)) != eos)// print_token(token);// printf("n");//}
    공학/기술| 2003.11.26| 4페이지| 1,000원| 조회(425)
    미리보기
  • [컴퓨터공학] NFA 평가B괜찮아요
    목차1. 사용언어2. 사용방법3. 설명4. 예, 결과물5. 소스1. 사용언어Visual Studio 6.0에서 C언어로 구현하였습니다.2. 사용방법NFA의 생성규칙을 입력받아 DFA로 변환합니다.nonterminal 은 p, q, r 로 정하였습니다.terminal 은 0, 1 로 정하였습니다.start state 은 p이며, final state 는 r입니다.Ø 은 0으로 입력합니다.사용절차1. ε 이 있는 것과 없는 것을 선택합니다.2. 사용방법에 맞게 생성규칙을 입력합니다.3. 생성규칙입력의 예 - 0 p pq pqr3. 설명δ ┃ 0 ┃ 1━━━━╋━━━━╋━━━━ - ch[3] = {'p', 'q', 'r' } 로 정했습니다.ch[] ch1[][] ch2[][] - 입력받을 배열명δ ┃ 0 ┃ 1━━━━╋━━━━╋━━━━ch3[][] ch_1[][] ch_2[][] - 새로운 상태를 저장할 배열명ch[0], ch1[0], ch2[0] 에 입력받은 것은 ch3[0], ch_1[0], ch_2[0] 에 그대로 저장합니다.ch3의 1번째 방부터는 ch_1, ch_2에서 받게 되는데,ch_1, ch_2 의 상태가 ch3에 없을 경우 ch3로 입력됩니다.새로운 ch3에 대해 ch_1, ch_2를 만들 때는 ch3 에 있는 각각의 상태(ch)에서 0을 바라보는 것을 ch_1에 ch1들을, 1을 바라보는 것을 ch_2에 ch2들을 합한 후 버블소트를 사용하여 정렬하고 같은 문자와 0을 제거하였습니다. 그리고 0만 있을 경우에는 0 그대로 남겨 둡니다.새로운 상태가 더 이상 없다면 반복을 중단합니다.마지막으로 새로운 상태를 A B C D ...... 로 바꾸어 주었습니다.{4. 예, 결과물(1) ε이 없을 경우(2) ε이 있을 경우{5. 소스/////////////////////////// NFA를 DFA로 변환 ////////////////////////////////////////////////////////// 9861009 권석진 ///////////////////////////////#include#include// strlen, strcmp, strcpy 를 사용void input1(void);// ε이 없을 경우 입력을 받습니다.void input2(void); // ε이 있을 경우 입력을 받습니다.void closure(void);// closure합니다.int nfa(int, int, int, int);// ch1, ch2에 있는 내용을 이용하여 ch_1, ch_2에 저장시킵니다.void sort(void);// 복사된 배열을 버블소트를 이용하여 정렬하고 같은 문자는 빼내고 0을 없앱니다.void print(void);// 새로운 상태로 이름을 바꾸고 출력합니다.int l=1;char ch1[3][7], ch2[3][7], ch3[10][7]={"p"}, empty[3][7], ch[3]={'p', 'q', 'r'};// ch1, ch2, empty 배열에 문자열을 입력받아 저장합니다. ch3는 새로 생성되는 문자열을 저장합니다.char ch_1[10][7]={""}, ch_2[10][7]={""}; // ch_1, ch_2는 새로운 상태를 저장할 배열입니다.int main(){int i, emp, end=1, count1, count2;printf("M=({p, q, r}, {0, 1}, δ, p, {r})n");printf("생성규칙(δ) 예) p pq pqrn");printf("Ø은 0으로 입력하세요.nn");printf("1. ε없음 2.ε있음 :");scanf("%d", &emp); // ε이 들어갈 것인가 들어가지 않을 것인가를 선택합니다.while (emp != 2 && emp != 1){printf("1. ε없음 2.ε있음 :");scanf("%d", &emp);}if (emp == 2)input2();else input1();while (end) // 새로운 상태일 경우 ch_1, ch_2에 저장하고, 새로운 상태가 없을 때까지 반복합니다.{count1=0, count2=0;for (i=0; i
    공학/기술| 2003.11.26| 13페이지| 1,000원| 조회(554)
    미리보기
전체보기
받은후기 2
2개 리뷰 평점
  • A+최고예요
    0
  • A좋아요
    0
  • B괜찮아요
    1
  • C아쉬워요
    1
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 04월 16일 목요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
8:17 오후
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감