当前位置: 首页 > news >正文

域名服务商网站威海互联网公司

域名服务商网站,威海互联网公司,外贸网站装修,活字格能开发企业网站吗文章目录 前言代码仓库代码说明核心片段 结果总结参考资料作者的话 前言 C 代码实例#xff1a;多项式除法简单计算工具。 代码仓库 yezhening/Programming-examples: 编程实例 (github.com)Programming-examples: 编程实例 (gitee.com) 代码 说明 由于代码篇幅较多#… 文章目录 前言代码仓库代码说明核心片段 结果总结参考资料作者的话 前言 C 代码实例多项式除法简单计算工具。 代码仓库 yezhening/Programming-examples: 编程实例 (github.com)Programming-examples: 编程实例 (gitee.com) 代码 说明 由于代码篇幅较多在博客中直接粘贴并呈现会显得冗长因此未在博客中放置完整代码只展示核心片段代码。请前往代码仓库查看或获取相关代码简单地计算多项式除法注释有详细的步骤解析好用的多项式除法在线计算网址在线计算器: 多项式除法 (planetcalc.com)多项式除法被除数和除数写在程序中main.exe、main.cpp、polynomial.cpp、polynomial.h多项式除法在终端输入被除数和除数main1.exe、main1.cpp、polynomial.cpp、polynomial.h 注一个晚上一个早上完成应该大部分结果对若出现小部分结果错误懒得管了逻辑差不多那样 核心片段 polynomial.h #ifndef POLYNOMIAL_H #define POLYNOMIAL_H#include vector #include iostreamusing std::ostream; using std::vector;// 多项式类 class Polynomial { public:explicit Polynomial(const vectorint p) : poly_vec(p) {} // 私有成员只能在类的成员函数内部被初始化// 重载运算符 “” 输出多项式// friend类外会用该运算符访问类的成员不写报错too many parameters for this operator function// 返回输出流对象引用可以链式操作friend ostream operator(ostream output, const Polynomial obj);// 重载运算符 “/” 进行多项式除法// 返回值商// 参数除数Polynomial operator/(const Polynomial divisor) const; // const表示不会改变调用该方法的被除数// 重载运算符 “%” 进行多项式除法求余// 返回值余数// 参数除数// 照搬除法逻辑只改动最后return的返回值最后的余数就是最后更新的被除数Polynomial operator%(const Polynomial divisor) const; // const表示不会改变调用该方法的被除数private:const vectorint poly_vec; // 多项式的向量表示 };#endif // POLYNOMIAL_Hpolynomial.cpp // 重载运算符 “” 输出多项式 // 不需要friend、类作用域声名因为是类外的运算符 ostream operator(ostream output, const Polynomial obj) {UINT terminal_code_page GetConsoleOutputCP(); // 获取当前终端的输出代码页if (terminal_code_page ! 65001){system(chcp 65001); // 终端切换使用utf8字符集显示以可以显示utf8的上标// 注意会切换终端页需要重新运行程序}else // 65001{}for (int i obj.poly_vec.size() - 1; i 0; --i) // 从高位到低位 i既表示索引也表示次数{// 1. 系数的符号// 正数显示负数不显示-系数负数已有-if (obj.poly_vec.at(i) 0){cout ;}else // obj.poly.at(i) 0{// cout - ;}// 2. 系数cout obj.poly_vec.at(i);// 3. 形式参数cout x;// 4. 次数// 上标号的utf8编码// 如0上标号⁰的utf8编码在索引0为\u20701上标号¹的utf8编码在索引1为\u00B9以此类推vectorstring superscript_utf8{\u2070, \u00B9, \u00B2, \u00B3, \u2074, \u2075, \u2076, \u2077, \u2078, \u2079};cout superscript_utf8.at(i);}return output; }// 重载运算符 “/” 进行多项式除法 // 返回值商 // 参数除数 Polynomial Polynomial::operator/(const Polynomial divisor) const // const表示不会改变调用该方法的被除数 {// 1. 准备被除数、除数和商// 解封装获取被除数和除数向量// 1.1 方便操作// 1.2 不再是const可以修改再封装出去vectorint dividend_vec(this-poly_vec); // 被除数vectorint divisor_vec(divisor.poly_vec); // 除数// 商初始的次数是被除数最高项次数 - 除数最高项次数 1// 如// 4x³ 3x² 2x 1的个数是4最高项次数次数是 4 - 1 3// x² 2x 1的个数是3最高项次数次数是 3 - 1 2// 最高项相除4x³ / x² 4x商的最高项次数是 3 - 2 1// 因为索引从0开始所以需要1商系数的个数是1 1 2初始化为0vectorint quotient_vec((dividend_vec.size() - 1) - (divisor_vec.size() - 1) 1, 0); // 商// 2. 除法运算// 2.1 如果被除数最高项次数 除数最高项次数即 dividend_vec.size() - 1 divisor_vec.size() - 1商返回0// 如4x³ 3x² 2x 1 / x⁵ 2x 3被除数最高项 4x³ 次数4 除数最高项 x⁵ 次数5无法除返回0只有1个元素索引0值0if ((dividend_vec.size() - 1) (divisor_vec.size() - 1)){quotient_vec.resize(1, 0);}// ... }// 重载运算符 “%” 进行多项式除法求余 // 返回值余数 // 参数除数 // 照搬除法逻辑只改动最后return的返回值最后的余数就是最后更新的被除数 Polynomial Polynomial::operator%(const Polynomial divisor) const // const表示不会改变调用该方法的被除数 {// ... }main.cpp #include polynomial.husing std::cout; using std::endl;int main() {// int 型向量表示多项式x作为形式参数无具体意义只有方便理解的展示意义索引表示次数值表示系数// 如 {1, 2}索引0值1表示1x⁰索引1值2表示2x¹所以多项式是2x¹ 1x⁰ 2x 1const vectorint dividend_vec{1, 2, 3, 4}; // 被除数4x³ 3x² 2x 1const vectorint divisor_vec{3,2,1}; // 除数x² 2x 3// 多项式类表示多项式进一步封装const Polynomial dividend(dividend_vec);const Polynomial divisor(divisor_vec);cout 被除数: dividend endl;cout 除数: divisor endl;// 多项式除法求商Polynomial quotient dividend / divisor;cout 商: quotient endl;// 多项式除法求余数Polynomial remainder dividend % divisor;cout 余数: remainder endl;return 0; }main1.cpp #include sstream // istringstream#include polynomial.husing std::cin; using std::cout; using std::endl; using std::getline; using std::istringstream; using std::string;int main() {// 终端输入被除数和除数// int 型向量表示多项式x作为形式参数无具体意义只有方便理解的展示意义索引表示次数值表示系数// 如 {1, 2}索引0值1表示1x⁰索引1值2表示2x¹所以多项式是2x¹ 1x⁰ 2x 1// 1. 被除数vectorint dividend_vec(0);cout 被除数系数从高到低位输入空格分隔回车结束: endl;string input();getline(cin, input); // 从终端获取一行输入istringstream iss(input); // 字符串 - 输入流对象int num(0);while (iss num) // 输入流对象 - 数字{dividend_vec.insert(dividend_vec.begin(), num); // 从后往前插入}// 2. 除数vectorint divisor_vec(0);cout 除数系数从高到低位输入空格分隔回车结束: endl;input ;getline(cin, input);iss.clear(); // 清楚流状态否则获取不到数字iss.str(input);num 0;while (iss num){divisor_vec.insert(divisor_vec.begin(), num);}// 多项式类表示多项式进一步封装const Polynomial dividend(dividend_vec);const Polynomial divisor(divisor_vec);cout 被除数: dividend endl;cout 除数: divisor endl;// 多项式除法求商Polynomial quotient dividend / divisor;cout 商: quotient endl;// 多项式除法求余数Polynomial remainder dividend % divisor;cout 余数: remainder endl;return 0; }Makefile .PHONY : all all : main.exe main1.exemain.exe : main.cpp polynomial.cppg -o $ $^main1.exe : main1.cpp polynomial.cppg -o $ $^.PHONY : clean clean :del *.exe结果 总结 C 代码实例多项式除法简单计算工具。 参考资料 无特定的参考资料 作者的话 感谢参考资料的作者/博主作者夜悊版权所有转载请注明出处谢谢~如果文章对你有帮助请点个赞或加个粉丝吧你的支持就是作者的动力~文章在描述时有疑惑的地方请留言定会一一耐心讨论、解答文章在认识上有错误的地方, 敬请批评指正望读者们都能有所收获
http://www.w-s-a.com/news/458508/

相关文章:

  • 做非遗网站的原因wordpress ip 插件
  • 微信企业网站 源码下载wordpress 4.9.5 太卡
  • 湖北网站建设公司哪家好房地产最新政策调整
  • 重庆建设岗位培训网站今天重大新闻乌克兰
  • 流水线 东莞网站建设如何在网上销售产品
  • 哪些做图片赚钱的网站网站建设销售业绩任务
  • 建立网站 知乎如何做网站的图片滑动块
  • 国外做珠宝的网站有哪些滨湖区建设局官方网站
  • 关于中国幼教网站开发的经验中国建设银行晋中分行网站
  • 挪威网站后缀如何外贸网络推广
  • 外汇交易网站开发仟亿家设计软件好吗亿家
  • 专门教做甜品的网站郑州高新区建设环保局网站
  • 建站公司怎么获客网站建设全网营销
  • 黄石做网站的公司html免费网站模板
  • 做个商城网站怎么做便宜优酷视频网站源码
  • 网站侧边栏导航代码泰兴市住房和建设局网站
  • html网站登录界面模板确定建设电子商务网站目的
  • wordpress 多站点迁移三台网站seo
  • 工信部网站备案文件好网站建设公司地址
  • 怎么做app和网站购物网站单页面怎么做的
  • 西宁专业做网站教育网站建设策划书
  • 个人网站域名怎么起网站建设业务好跑吗
  • 网页设计的网网页设计的网站企业网站怎样做优化
  • 论文中小企业的网站建设域名网站空间
  • 宿迁网站建设联系电话现在出入邯郸最新规定
  • 男女做羞羞的事情网站30岁转行做网站编辑
  • 做企业网站的轻量级cmswordpress 越来越慢
  • 无锡中英文网站建设莱芜网络公司
  • ps软件下载官方网站相关搜索优化软件
  • 世界杯网站源码下载做网站推广代理