목차
1. 문제기술
2. 입출력의 예
3. 문제풀이방법
4. 소스프로그램
5. 수행의 예
2. 입출력의 예
3. 문제풀이방법
4. 소스프로그램
5. 수행의 예
본문내용
r( ; 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형(레지오 에밀리아 접근법)
소개글