목차
1. 문제기술
2. 입출력의 예
3. 문제풀이방법
4. 소스프로그램
5. 수행의 예
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
{
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
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
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
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
}
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
추천자료
C언어를 이용한 학생관리 프로그램
페인트 프로그램(C언어 OpenGL)
성적표계산프로그램 작성 C언어
[자료구조]Infix로 된 수식을 Prefix와 Postfix로 변환 시키는 프로그램입니다.(C언어)
[C++]심볼테이블 및 범용 리스트를 이용한 다항식 계산기 프로그램 소스
c언어로 만든 켤레복소수함수 프로그램
RS-232C 직렬통신 프로그램
C언어로 이용할수 있는_프로그램
C언어 기초 프로그램 (소수구하기,야구게임,최대값등)
2010년 2학기 아동복지 중간시험과제물 C형(영유아보육프로그램 질적수준발전방향)
로또프로그램(C언어)
C 드라이브 자동백업 프로그램
2016년 2학기 영유아프로그램개발과평가 중간시험과제물 C형(레지오 에밀리아 접근법)