社区
新手乐园
帖子详情
一个一元稀疏多项式求和问题?
slimjim
2006-03-21 07:40:29
刚学数据结构,老师就布置一个作业,一元稀疏多项式求和,要求,建立多项式,顺序输入,降幂输出,虽然有点认识,但是还是一知半解,不知那位高手能够赐教?
...全文
240
9
打赏
收藏
一个一元稀疏多项式求和问题?
刚学数据结构,老师就布置一个作业,一元稀疏多项式求和,要求,建立多项式,顺序输入,降幂输出,虽然有点认识,但是还是一知半解,不知那位高手能够赐教?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenhu_doc
2006-04-18
打赏
举报
回复
除了: 包含some #include "^^^^"s
和输入 输出函数printf->cout
scanf ->cin
我想就没有什么区别了哦
slimjim
2006-04-18
打赏
举报
回复
chenhu_doc((在代码中找到了我(小虎哥))) ( 你用的是C语言,
slimjim
2006-04-18
打赏
举报
回复
上楼的代码是有点繁杂,如果只用一个输出,大家调用那会好一点。这样会简单点。
chenhu_doc
2006-04-15
打赏
举报
回复
#include "stdio.h"
#include "malloc.h"
#include "stdlib.h"
typedef struct LNode{
float coef;
int expn;
struct LNode *next;
}Link,*LinkList;
LinkList InitList()
{
Link * head = (LinkList)malloc(sizeof(Link));
head->coef = 0.0;
head->expn = 0;
head->next = NULL;
return head;
}
Link * MakeNode()
{
float inCoef;
int inExpn;
Link * node = (LinkList)malloc(sizeof(Link));
printf("coef : ");
scanf("%f",&inCoef);
printf("expn : ");
scanf("%d",&inExpn);
node->coef = inCoef;
node->expn = inExpn;
return node;
}
LinkList CreatePolyn()
{
int i;
int a;
Link * node = NULL;
Link * p = NULL;
Link * q = NULL;
Link * head = InitList();
printf("input the number of La's items: ");
scanf("%d",&a);
for( i=0; i < a; i++)
{
node = MakeNode();
q = head->next;
p = head;
while( q && node->expn > q->expn )
{
p = q;
q = q->next;
}
if( node->expn == 0)
{
head->coef += node->coef;
}
else if( q == NULL || node->expn < q->expn )
{
p->next = node;
node->next = q;
}
else
{
q->coef += node->coef;
}
}
return head;
}
int Compare( int aExpn, int bExpn)
{
return ( (aExpn > bExpn) ? 1 : ((aExpn == bExpn) ? 0 : -1) );
}
void DelFirst( Link * head, Link * q)
{
q = head->next;
head->next = head->next->next;
}
int ListEmpty( LinkList L)
{
if(L->next==NULL)
return 1;
else
return 0;
}
void Append(LinkList L, Link * q)
{
Link * p = L;
while( p->next )
p = p->next;
p->next = q;
}
void AddPolyn( LinkList La, LinkList Lb)
{
Link * ha = La;
Link * hb = Lb;
Link * qa = ha->next;
Link * qb = hb->next;
ha->coef += hb->coef;
while(qa && qb)
{
int aExpn, bExpn;
float aCoef,bCoef;
aExpn = qa->expn;
bExpn = qb->expn;
aCoef = qa->coef;
bCoef = qb->coef;
switch( Compare(aExpn, bExpn) )
{
case -1:
{
ha=qa;
qa=qa->next;
break;
}
case 0:
{
float sum = aCoef+bCoef;
if(sum != 0.0)
{
qa->coef = sum;
ha=qa;
}
else
{
DelFirst(ha,qa);
free(qa);
}
DelFirst(hb,qb);
free(qb);
qb = hb->next;
qa = ha->next;
break;
}
case 1:
{
DelFirst(hb,qb);
qb->next = ha->next;
ha->next = qb;
qb= hb->next;
ha= ha->next;
break;
}
}
}
if( !ListEmpty(Lb) )
Append(La,qb);
free(hb);
}
void PrintPolyn(LinkList L)
{
LinkList p= L;
while(p)
{
if(p->coef == 0.0 && p->expn == 0)
{
printf("");
p=p->next;
}
else
{
printf("%1.1f",p->coef);
if(p->expn )
printf("*x^%d",p->expn );
if(p->next && p->next->coef >0)
printf("+");
p=p->next;
}
}
printf("\n");
}
void main()
{
LinkList La = CreatePolyn();
LinkList Lb = CreatePolyn();
AddPolyn( La, Lb );
PrintPolyn( La );
}
// 也是今年开始学数据结构,花了一点时间把他做出来了。比较长,可能有冗余
stonepeter
2006-04-15
打赏
举报
回复
逻辑结构:线性表
物理结构:单链表
教材中应当有现成的程序可以用的
slimjim
2006-04-15
打赏
举报
回复
计算机,还好,经过了多天努力,终于弄出来了,。
谢谢你们的支持!!!!
sumnet
2006-03-31
打赏
举报
回复
不知道楼主学的什么专业啊
sumnet
2006-03-31
打赏
举报
回复
和楼主一样
我也是这学期刚开始学习的数据结构
你就建立一个稀疏矩阵
用三元组来进行存取
const int MaxTerm=100;
struct multinomial
{
element data[MaxTerm];
int mu,nu,tu;
}
然后对存储X的系数项的进行排序
输出
我能帮楼主的也就这么多了
slimjim
2006-03-30
打赏
举报
回复
怎么这个没有人光顾呀!
一元
稀疏
多项式
运算代码
设计程序,输入两个
一元
稀疏
多项式
, 分别完成二者的加法、减法、乘法运算,输出和
多项式
、差
多项式
、乘积
多项式
, 并求
多项式
在x(double型)处的值。要求: 1、分别以顺序表和单链表为存储结构实现
多项式
的加法和...
一元
稀疏
多项式
在本场景中,我们关注的是
一元
稀疏
多项式
,这是数据结构在数学计算
问题
中的
一个
应用。
一元
稀疏
多项式
指的是只含有少数非零项的
多项式
,对于这类
多项式
,使用传统的一维数组表示法可能会造成大量的空间浪费,因此通常...
一元
稀疏
多项式
计算.doc
一元
稀疏
多项式
计算器
一元
稀疏
多项式
计算器是指通过使用计算机编程...该
一元
稀疏
多项式
计算器是
一个
功能强大且灵活的计算工具,能够实现
多项式
的输入、输出、加法、减法、乘法等基本运算,并且可以实现
多项式
的求值。
C++数据结构课程设计-
一元
稀疏
多项式
在本项目中,我们关注的是"C++数据结构课程设计-
一元
稀疏
多项式
",这是
一个
针对大学生在数据结构课程中的实践项目。数据结构是计算机科学的重要组成部分,它研究如何在计算机中有效地组织和存储数据,以便进行高效的...
一元
稀疏
多项式
计算器C语言课程设计.docx
一元
稀疏
多项式
计算器C语言课程设计 本文档是关于
一元
稀疏
多项式
计算器的C语言课程设计报告。该设计的目的是为了实现
一个
可以进行
多项式
加、减、乘、除和求值的计算器。 一、
问题
描述 该设计的主要
问题
是如何实现...
新手乐园
33,320
社区成员
41,774
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章