연결리스트 이용하여 다항식을 더하는 C프로그램
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 문제기술

2. 입출력의 예

3. 문제풀이방법

4. 소스프로그램

5. 수행의 예

본문내용

; b != NULL; b=b->link)
{
insert_node_last(plist3, b->coef, b->expon);
}
}
void poly_print(ListHeader *plist)//연산이 끝난 다항식 출력함수
{
ListNode *p=plist->head;
printf("R : ");
for(;p;p=p->link){
if(p->expon!=0)
{
printf("(%d) X(%d) + ",p->coef,p->expon);
}
else printf("(%d)",p->coef);
}
}
int main()
{
ListHeader list1, list2, list3;
int size_1; // 첫 번째 식의 항목수를 저장할 변수
int size_2; // 두 번째 식의 항목수를 저장할 변수
int i;
initialization(&list1); // 초기화 함수
initialization(&list2); // 초기화 함수
initialization(&list3); // 초기화 함수
printf("첫 식의 항목 수:"); //첫 번째 식의 항목수를 입력받음
scanf("%d",&size_1);
for(i=0;i printf("계수, 지수 :");
scanf("%d %d",&alist[i].coef,&alist[i].exp);
} //alist 배열에 저장시킴.
printf("두 번째 식의 항목 수:"); //두 번째 식의 항목 수를 입력받음
scanf("%d",&size_2);
for(i=size_1;i<(size_1+size_2);i++){
printf("계수, 지수 :");
scanf("%d %d",&alist[i].coef,&alist[i].exp);
} //alist 배열에 저장시킴.
for(i=0;i {
if(i alist[i].link_p=i+1;
else alist[i].link_p=-1;
}
printf("\n");
//입력받은 array를 출력함
printf("Array : ");
for(i=0;i<(size_1+size_2);i++){
printf("(%d %d) ",alist[i].coef,alist[i].exp);
}
printf("\n\n");
//입력받은 p(x)를 출력함
printf("P : ");
for(i=0;i if(alist[i].exp!=0)/*상수값의 표현방법이 다르므로(상수값 판별)*/{
printf("(%d) X(%d) + ",alist[i].coef,alist[i].exp);
}
else printf("(%d)",alist[i].coef);//상수값
}
printf("\n\n");
//입력받은 q(x)를 출력함
printf("Q : ");
for(i=size_1;i<(size_1+size_2);i++){
if(alist[i].exp!=0){
printf("(%d) X(%d) + ",alist[i].coef,alist[i].exp);
}
else printf("(%d)",alist[i].coef);
}
for(i=0;i insert_node_last(&list1,alist[i].coef,alist[i].exp);
}
for(i=size_1;i<(size_1+size_2);i++){
insert_node_last(&list2,alist[i].coef,alist[i].exp);
}
printf("\n\n");
poly_add(&list1, &list2, &list3);
poly_print(&list3); //출력함수
printf("\n\n");
}
5. 수행의 예
① P(x) : 3X(1000) + 4X(1) - 1
Q(x) : 1X(3) + 20X(2) -5X(1) + 10
-> 두 다항식 P(x)와 Q(x)의 합이 R(x)의 결과로 나타난다. (과제에 제시된 예문이다.)
② P(x) = 1X(3) + 20X(2) -5X(1) + 10
Q(x) = 3X(1000) + 4X(1) - 1
-> 두 다항식 P(x)와 Q(x)의 합이 R(x)의 결과로 나타난다.
③ P(x) = 20X(30) + 20X(2) -5X(1) + 10
Q(x) = 3X(4) + 4X(2) - 8
④ P(x)=20X(30)+2X(5)-5X(4)+10X(2)+9X+1
Q(x)=3X(6)+4X(5)-8X(4)+20X(2)+10X+20
⑤ P(x)=20X(5)+2X(4)+11X(2)+5X-9
Q(x)=3X(6)+4X(5)-8X(4)+15
  • 가격1,300
  • 페이지수9페이지
  • 등록일2007.01.08
  • 저작시기2006.11
  • 파일형식한글(hwp)
  • 자료번호#387345
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니