首页 > 其他分享 >OOP一元多项式类(运算符重载)

OOP一元多项式类(运算符重载)

时间:2024-05-31 13:30:30浏览次数:25  
标签:系数 多项式 运算符 xishu OOP 重载 pn

题目描述

一元多项式按照升幂表示为:

Pn(x) = p0+ p1x + p2x2+ … +pnxn。(n>=0)

构建一元多项式类保存多项式中每项的系数和指数。并重载输入输出运算符,完成多项式的输入以及输出;重载加法,减法,乘法运算符,完成多项式的运算。

输入

测试数据数

对于每组测试数据

第一行,第一个多项式:多项式项数n  系数1 指数1 系数2 指数2  ...... 系数n 指数n

第二行,第二个多项式:多项式项数n  系数1 指数1 系数2 指数2 ......系数n 指数n

数据保证输入数据中多项式均为升幂且所有数据都为整数

输出

每组测试数据输出三行,分别是两个多项式的加、减、乘。

具体输出格式见样例(即人们习惯的多项式表示,需要额外注意系数或指数为1,-1的情况。)

输入样例:

2
3 -9 0 4 1 -3 5
1 -7 0
2 1 0 -1 3
3 1 0 1 1 -1 2

输出样例:

-16+4x-3x^5
-2+4x-3x^5
63-28x+21x^5
2+x-x^2-x^3
-x+x^2-x^3
1+x-x^2-x^3-x^4+x^5

题目讲解:

要求:

构建一元多项式类来保存多项式中每项的系数和指数,重载输入输出运算符来完成多项式的输入和输出;重载加法、减法、乘法运算符来完成多项式的运算。

1.类定义和构造函数
class pn {
    int xishu[100]; // 系数数组

public:
    pn() {
        for (int i = 0; i < 100; i++) {
            xishu[i] = 0; // 初始化系数数组为0
        }
    }

    pn(const pn& m) {
        for (int i = 0; i < 100; i++) {
            xishu[i] = m.xishu[i]; // 拷贝构造函数
        }
    }

其中:

  • xishu[100]:用于存储多项式的系数。这里假设多项式的最高次幂不超过99。
  • 构造函数 pn():初始化 xishu 数组,使所有系数为0。
  • 拷贝构造函数 pn(const pn& m):从另一个 pn 对象拷贝系数数组。
2. 运算符重载
    pn operator 

标签:系数,多项式,运算符,xishu,OOP,重载,pn
From: https://blog.csdn.net/zgy11026/article/details/139333574

相关文章

  • window对象的常见属性、延迟函数、时间循环eventloop
    一、window对象JavaScript中的全局对象,代表浏览器窗口或者浏览器标签页。它具有许多属性和方法,以下是其中一些常见的属性:window.document:表示当前窗口或标签页的文档对象,可以用来操作和访问文档的内容。window.navigator:包含有关浏览器的信息,如浏览器的名称、版本、......
  • flutter - [03] 运算符&条件表达式
    题记部分 一、算术运算符运算符说明示例(a=13,b=5)+加print(a+b);-减print(a-b);*乘print(a*b);/除print(a/b);~/取整print(a~/b);%取余print(a%b);   二、关系运算符  三、逻辑运算符  四、赋值运算符 五、条件......
  • 制作dolphinscheduler+spark+hadoop镜像
    项目需要在ds中执行spark集群任务,并且交付方式是提供一个镜像,所以要把这3者做成一个镜像配置进行相应配置。 1.准备基础镜像有大神已经制作好了spark+hadoop镜像,参考链接:https://zhuanlan.zhihu.com/p/421375012我们下载此镜像dockerpulls1mplecc/spark-hadoop:3然后准......
  • Scoop 使用指南
     1.是否已安装Scoop要确定是否已安装Scoop,可以在PowerShell中执行以下命令:scoop--version如果已安装Scoop,将会显示其版本号;否则将会显示错误消息或提示安装Scoop。2.安装Scoop如果未安装Scoop,可以在PowerShell中执行以下命令来安装:Invoke-Expression(N......
  • 【Java】运算符
    1、简介在Java中,运算符是用于执行特定操作的符号。它们可以用于各种数据类型,并执行如算术运算、比较、逻辑运算、位运算以及赋值等操作。2、算术运算符2.1内容算术运算符用于执行常见的数学运算。+:加法-:减法*:乘法/:除法%:取余(模运算)++:自增(前置和后置)--:自减(前置和后置) 2.2......
  • Hadoop HDFS DataNode动态扩容机制
    胡弦,视频号2023年度优秀创作者,互联网大厂P8技术专家,SpringCloudAlibaba微服务架构实战派(上下册)和RocketMQ消息中间件实战派(上下册)的作者,资深架构师,技术负责人,极客时间训练营讲师,四维口袋KVP最具价值技术专家,技术领域专家团成员,2021电子工业出版社年度优秀作者,获得2023电......
  • Hadoop HDFS DataNode存储高性能,高可用和高并发设计
    胡弦,视频号2023年度优秀创作者,互联网大厂P8技术专家,SpringCloudAlibaba微服务架构实战派(上下册)和RocketMQ消息中间件实战派(上下册)的作者,资深架构师,技术负责人,极客时间训练营讲师,四维口袋KVP最具价值技术专家,技术领域专家团成员,2021电子工业出版社年度优秀作者,获得2023电......
  • Design OOP use C
    DesignOOPuseC使用c语言实现面向对象特性以底层思维来理解面向对象。我所理解的oop:为不同的数据元提供稳定的处理逻辑框架,同时提供复写的可能,支持不同数据元个性化定制有限的逻辑;多态特性:基类实现一组通用处理逻辑接口,子类通过改变特定接口的执行逻辑实现将子类与个性化操......
  • hadoop学习之MapReduce案例:输出每个班级中的成绩前三名的学生
    hadoop学习之MapReduce案例:输出每个班级中的成绩前三名的学生所要处理的数据案例:1500100001施笑槐,22,女,文科六班,4061500100002吕金鹏,24,男,文科六班,4401500100003单乐蕊,22,女,理科六班,3591500100004葛德曜,24,男,理科三班,4211500100005宣谷芹,22,女,理科......
  • Hadoop学习之hdfs的操作
    Hadoop学习之hdfs的操作1.将HDFS中的文件复制到本地packagecom.shujia.hdfs;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.FileSystem;importorg.apache.hadoop.fs.Path;importorg.junit.After;importorg.junit.Before;importor......