목차
1. 문제설명과 예시
2. 소스코드
2. 소스코드
본문내용
listnode *)malloc(sizeof(listnode));
if(s==NULL){
printf("\n리스트가 비었습니다\n");
return;
}
else{
temp->link=s->top;
while(1){
if(temp->link->link==NULL){
fprintf(output_fp,"%d %d",temp->link->expon,temp->link->coef);
break;
}
else{
fprintf(output_fp,"%d %d ",temp->link->expon,temp->link->coef);
}
temp=temp->link;
}
}
free(s);
free(temp);
}
void init(header *s)
{
s->top=NULL;
}
void create_node(header *s)
{
s=(header *)malloc(sizeof(header));
if(s==NULL){
printf("\n\n노드헤더를 만드는데 실패함\n");
return;
}
}
void mul(header *s1,header *s2,header *s3)
{//exp를 계수, coef를 지수로(승수로)생각
int expon,coef;
listnode *first;
listnode *second;
if(s1==NULL||s2==NULL){
perror("\n제대로 2개의 리스트가 만들어지지 않음\n");
return;
}
else{
second=(listnode *)malloc(sizeof(listnode));
first=(listnode *)malloc(sizeof(listnode));
first=s1->top;
second=s2->top;
while(1){
expon=first->expon*second->expon;
coef=first->coef+second->coef;
insert_node(s3,expon,coef);
count++;
if(second->link==NULL){
if(first->link==NULL)return;
else{
first=first->link;
second=s2->top;
}
}
else{
second=second->link;
}
}
}
}
void sorting(header *s)
{//coef가 큰걸 앞으로하되
//coef 같은거 찾아서 exp를 더함
int j,i,exp,co;
listnode *temp=(listnode *)malloc(sizeof(listnode));
listnode *before=(listnode *)malloc(sizeof(listnode));
listnode *dest=(listnode *)malloc(sizeof(listnode));
temp=s->top;
for(j=0;j
for(i=0;i
if(temp->link==NULL){
temp=s->top;
}
else{
before=temp;
temp=temp->link;
if(before->coefcoef){
exp=temp->expon;
co=temp->coef;
temp->expon=before->expon;
temp->coef=before->coef;
before->expon=exp;
before->coef=co;
}
else if(before->coef==temp->coef){
before->expon=before->expon+temp->expon;
dest=temp;
before->link=temp->link;
if(temp->link!=NULL){
temp=temp->link;
free(dest);
}
else{
temp=s->top;
free(dest);
}
}
}
}//정렬
}
}
if(s==NULL){
printf("\n리스트가 비었습니다\n");
return;
}
else{
temp->link=s->top;
while(1){
if(temp->link->link==NULL){
fprintf(output_fp,"%d %d",temp->link->expon,temp->link->coef);
break;
}
else{
fprintf(output_fp,"%d %d ",temp->link->expon,temp->link->coef);
}
temp=temp->link;
}
}
free(s);
free(temp);
}
void init(header *s)
{
s->top=NULL;
}
void create_node(header *s)
{
s=(header *)malloc(sizeof(header));
if(s==NULL){
printf("\n\n노드헤더를 만드는데 실패함\n");
return;
}
}
void mul(header *s1,header *s2,header *s3)
{//exp를 계수, coef를 지수로(승수로)생각
int expon,coef;
listnode *first;
listnode *second;
if(s1==NULL||s2==NULL){
perror("\n제대로 2개의 리스트가 만들어지지 않음\n");
return;
}
else{
second=(listnode *)malloc(sizeof(listnode));
first=(listnode *)malloc(sizeof(listnode));
first=s1->top;
second=s2->top;
while(1){
expon=first->expon*second->expon;
coef=first->coef+second->coef;
insert_node(s3,expon,coef);
count++;
if(second->link==NULL){
if(first->link==NULL)return;
else{
first=first->link;
second=s2->top;
}
}
else{
second=second->link;
}
}
}
}
void sorting(header *s)
{//coef가 큰걸 앞으로하되
//coef 같은거 찾아서 exp를 더함
int j,i,exp,co;
listnode *temp=(listnode *)malloc(sizeof(listnode));
listnode *before=(listnode *)malloc(sizeof(listnode));
listnode *dest=(listnode *)malloc(sizeof(listnode));
temp=s->top;
for(j=0;j
temp=s->top;
}
else{
before=temp;
temp=temp->link;
if(before->coef
exp=temp->expon;
co=temp->coef;
temp->expon=before->expon;
temp->coef=before->coef;
before->expon=exp;
before->coef=co;
}
else if(before->coef==temp->coef){
before->expon=before->expon+temp->expon;
dest=temp;
before->link=temp->link;
if(temp->link!=NULL){
temp=temp->link;
free(dest);
}
else{
temp=s->top;
free(dest);
}
}
}
}//정렬
}
}
추천자료
[과외]고등 공통수학 1-1학기 중간 예상문제 09
[과외]고등 공통수학 1-1학기 중간 예상문제 10
[과외]고등 공통수학 1-1학기 중간 예상문제 12
[과외]고등 공통수학 1-1학기 중간 예상문제 13
[과외]고등 공통수학 1-1학기 중간 예상문제 14
[과외]고등 공통수학 1-1학기 중간 예상문제 15
[과외]고등 공통수학 1-1학기 중간 예상문제 16
[과외]고등 공통수학 1-1학기 중간 예상문제 18
[과외]고등 공통수학 1-1학기 중간 예상문제 19
[과외]고등 공통수학 1-1학기 중간 예상문제 20
[과외]고등 공통수학 1-1학기 중간 예상문제 21
[과외]고등 공통수학 1-1학기 중간 예상문제 22
[과외]고등 공통수학 1-1학기 중간 예상문제 23
[과외]고등 공통수학 1-1학기 중간 예상문제 24
소개글