| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1089 人关注过本帖
标题:一元多项式相加(顺序存储)问题
只看楼主 加入收藏
hago
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-11-3
收藏
 问题点数:0 回复次数:1 
一元多项式相加(顺序存储)问题
#include<stdio.h>

typedef struct polynode
{
    int a[20][2];
    int size;
}PNode;

void Creat_array(PNode *p)
{
    int i;
    printf("Enter coef,exp:\n");
    for(i=0;i<p->size;i++){
        scanf("%d,%d",&p->a[i][0],&p->a[i][1]);
    }    
}

void print(PNode *p)
{
    int i;
    for(i=0;i<(p->size)-1;i++)
        printf("%dx^%d+",p->a[i][0],p->a[i][1]);
    printf("%dx^%d\n",p->a[i][0],p->a[i][1]);
}

void polyAdd(PNode *HA,PNode *HB)
{
    int m=0,n=0,k,sum;
    while(n<(HB->size)&&m<(HA->size)){
        if((HA->a[m][1])==(HB->a[n][1])){
            HA->a[m][0]=(HA->a[m][0])+(HB->a[n][0]);
            ++n;
            ++m;
        }
        else{
            if(HA->a[m][1]>HB->a[n][1]){
                ++(HA->size);
                for(k=(HA->size)-1;k>m;k--){
                    HA->a[k][0]=HA->a[k-1][0];
                    HA->a[k][1]=HA->a[k-1][1];
                }
                HA->a[m][0]=HB->a[n][0];
                HB->a[m][1]=HB->a[n][1];
                ++n;
                ++m;
            }
            else{
                ++m;
            }
        }
    }
    if(n<(HB->size)){
        (HA->size)=(HA->size)+(HB->size)-n;
        for(k=m;k<(HA->size);k++){
            HA->a[k][0]=HB->a[n++][0];
            HA->a[k][1]=HB->a[n++][1];
        }
    }
}

main()
{
    PNode HA,HB;
    printf("Please Enter the size of HA&HB:\n");
    scanf("%d,%d",&HA.size,&HB.size);
    printf("\n Creat HA\n");
    Creat_array(&HA);
    printf("A(x)=");
    print(&HA);
    printf("\n Creat HB\n");
    Creat_array(&HB);
    printf("B(x)=");
    print(&HB);    
    polyAdd(&HA,&HB);
    printf("\n A(x)+B(x)=");
    print(&HA);
}
已经看了N久了  找不到错在哪 各位大侠帮帮忙  帮小弟解决一下这个问题。。。
谢谢了。
搜索更多相关主题的帖子: 多项式 顺序 相加 
2008-04-03 13:18
kongxianglongk
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-4-9
收藏
得分:0 
123
2008-04-09 10:52
快速回复:一元多项式相加(顺序存储)问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032293 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved