顺序表存储一元多项式,并实现两个多项式相加运算(C++,无序输入)

         采用顺序表存储一元多项式,并实现两个多项式相加运算,要求:

1)创建存储多项式的有序表(按无序输入)hahb

2)求hahb相加产生多项式hc

3)输出多项式hahbhc

#include<iostream>
#include<algorithm>
using namespace std;
typedef struct node
{int coef;//系数int expn;//指数
}Elem;
typedef struct node1
{Elem* base;int length;
}Ss;
bool cmp1(node a, node b)
{return a.expn < b.expn;//指数大的往后
}
void Init(Ss& s)//初始化
{s.base = new Elem[1000];s.length = 0;
}
void Create(Ss& s)//创建多项式
{cout << "输入项数:";cin >> s.length;cout << "先输指数再输系数:" << endl;for (int i = 0; i < s.length; i++)cin >> s.base[i].expn >> s.base[i].coef;sort(s.base, s.base + s.length, cmp1);//根据指数升序排序
}
void Add(Ss& ha, Ss& hb, Ss& hc)//合并多项式
{int i = 0, j = 0, k = 0;while (ha.length && hb.length){hc.length++;if (ha.base[i].expn == hb.base[j].expn)//指数相等{ha.length--, hb.length--;int sum = ha.base[i].coef + hb.base[j].coef;if (sum == 0)continue;else{hc.base[k].coef = sum;hc.base[k++].expn = ha.base[i].expn;}i++, j++;}else if (ha.base[i].expn < hb.base[j].expn)//ha指数小于hb指数{ha.length--;hc.base[k].coef = ha.base[i].coef;hc.base[k++].expn = ha.base[i].expn;i++;}else//hb指数小于ha指数{hb.length--;hc.base[k].coef = hb.base[j].coef;hc.base[k++].expn = hb.base[j].expn;j++;}}if (ha.length == 0)//ha连完 剩下连hb{for (int d = j; d < hb.length; d++){hc.base[k].coef = hb.base[d].coef;hc.base[k++].expn = hb.base[d].expn;}}else if (hb.length == 0)//hb连完 剩下连ha{for (int d = j; d < ha.length; d++){hc.base[k].coef = ha.base[d].coef;hc.base[k++].expn = ha.base[d].expn;}}
}
void Print(Ss s)//输出多项式
{int i;cout << "f=";for (i = 0; i < s.length - 1; i++){if (s.base[i].expn == 0)cout << s.base[i].coef << " + ";elsecout << s.base[i].coef << "x^" << s.base[i].expn << " + ";}cout << s.base[i].coef << "x^" << s.base[i].expn;cout << endl;
}
int main()
{Ss ha, hb, hc;Init(ha);Create(ha);Init(hb);Create(hb);cout << "多项式1:" << endl;Print(ha);cout << "多项式2:" << endl;Print(hb);Init(hc);Add(ha, hb, hc);cout << "合并多项式:" << endl;Print(hc);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/127587.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

罗彻斯特大学探讨ChatGPT等人工智能将如何影响高等教育

人工智能聊天机器人ChatGPT持续引起互联网用户的热议&#xff0c;它能够回答关于各个领域的问题&#xff0c;创作歌曲、食谱&#xff0c;起草电子邮件等等。罗切斯特的教职员工和管理人员就他们如何处理 ChatGPT 以及它如何影响未来的教学和学习提出了他们的想法。 “让这项技…

【Linux】 grep命令使用

grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。 grep命令 -Linux手册页 语法 grep [选项] pattern [files] ls命令常用选项及作用 执行令 grep --help 执行命令结果 参数 -i&#xff1a;忽略大小写进行匹配。-v&#xff1a;反…

【浅谈IDE宏指令录制】为加速chrome扩展国际化,我从vscode回归notepad++

vscode 的宏录制功能 —— 差强人意 安装vscode开源扩展&#xff1a;https://github.com/C10udburst/macros-vscode.git 可开启类似于 notetepad 的宏录制与回放功能&#xff01;比如录制字符串替换&#xff0c;能记录操作之时&#xff0c;替换对话框中的文本&#xff01;&am…

Gooxi国鑫搭载第四代英特尔至强可扩展处理器系列服务器焕新登场

由算力驱动的数字经济渗透到了百行千业&#xff0c;在驱动传统经济转型升级和效能优化的同时&#xff0c;也大幅度增加了各行业数据处理能力的需求 。 面对千行百业加速创新应用和AIGC时代像潮水一样奔涌算力需求&#xff0c;得益于第四代英特尔至强可扩展处理器以及基于Gooxi最…

Flink---12、状态后端(HashMapStateBackend/RocksDB)、如何选择正确的状态后端

星光下的赶路人star的个人主页 大鹏一日同风起&#xff0c;扶摇直上九万里 文章目录 1、状态后端&#xff08;State Backends&#xff09;1.1 状态后端的分类&#xff08;HashMapStateBackend/RocksDB&#xff09;1.2 如何选择正确的状态后端1.3 状态后端的配置 1、状态后端&am…

深入探索地理空间查询:如何优雅地在MySQL、PostgreSQL及Redis中实现精准的地理数据存储与检索技巧

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

Access注入---偏移注入 | Mysql注入---DNS注入 | MSSQL---反弹注入

伪静态---假的静态页面判断页面是否为静态&#xff1a;document.lastModified偏移注入使用场景&#xff1a;遇到知道表明&#xff0c;但不知道字段名的情况下使用表.* >&#xff08;核心&#xff09;information_schema.tables&#xff08;去information_schema库里面选中ta…

使用DNS查询Web服务器IP地址

浏览器并不具备访问网络的功能&#xff0c;其最终是通过操作系统实现的&#xff0c;委托操作系统访问服务器时提供的并不是浏览器里面输入的域名而是ip地址&#xff0c;因此第一步需要将域名转换为对应的ip地址 域名&#xff1a;www.baidu.com ip地址是一串数字 tcp/ip的网络结…

tcpdump(二)命令行参数讲解(一)

一 tcpdump实战详解 1、我们做抓包,一般都需要指定条件,保证对系统的CPU、内存、磁盘资源不会产生过大的响应备注&#xff1a; 遇到过tcpdump持续抓包导致系统挂了2、条件&#xff1a;1) tcpdump的 基础命令选项参数2) 真正的 过滤条件 ① 参数学习思路 思路&#xff1a;…

小黑开始了拉歌训练,第一次进入部室馆,被通知要去当主持人心里有些紧张的leetcode之旅:337. 打家劫舍 III

小黑代码&#xff08;小黑卡在了bug中&#xff0c;上午一步步探索做出&#xff0c;非常NB!!!&#xff09; # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left lef…

Sketch for mac v98.3(ui设计矢量绘图)

Sketch是一款为用户提供设计和创建数字界面的矢量编辑工具。它主要用于UI/UX设计师、产品经理和开发人员&#xff0c;帮助他们快速设计和原型各种应用程序和网站。 Sketch具有简洁直观的界面&#xff0c;以及丰富的功能集&#xff0c;使得用户可以轻松地创建、编辑和共享精美的…

[NISACTF 2022]babyserialize - 反序列化+waf绕过【*】

[NISACTF 2022]babyserialize 一、解题过程二、思考总结&#xff08;一&#xff09;、关于题目的小细节&#xff08;二&#xff09;、关于弱类型比较技巧 一、解题过程 题目代码&#xff1a; <?php include "waf.php"; class NISA{public $fun"show_me_fl…