OJ
文章平均质量分 55
Jack_Be
热爱生活的苦逼
展开
-
可重叠子串 (Ver. I)
给定一个字符串(模式串)和一些待查找的字符串,求每个待查找字符串在模式串中出现的次数(可重叠)每一组的第二行包括一个整数N,代表待查找的字符串数量 (1 <= N <= 5)每一组接下来的N行,每一行包括一个待查找的字符串,其长度不超过50,且非空串。每一组的第一行包括一个字符串P,长度不超过105,且非空串。第一行输入t,表示有t组测试数据。输出每个待查找字符串出现的次数,原创 2023-10-11 10:15:00 · 124 阅读 · 0 评论 -
串应用- 计算一个串的最长的真前后缀
试实现一个函数string matched_Prefix_Postfix(string str),得到输入串str的最长的真前后缀。若不存在最长的真前后缀则输出empty。ABCDAB的真后缀有:{ B, AB,DAB, CDAB, BCDAB } 因此,该串的真前缀和真后缀中最长的相等串为AB,我们称之为该串的“最长的真前后缀”。给定一个串,如ABCDAB,则ABCDAB的真前缀有{ A, AB, ABC, ABCD, ABCDA }n个最长的真前后缀,若不存在最长的真前后缀则输出empty。原创 2023-10-11 10:15:00 · 100 阅读 · 0 评论 -
DS串应用--串替换
用字符串s替换从下标pos开始长度为len的字符,str.replace(pos, len, s)。给出主串、模式串、替换串,用KMP算法找出模式串在主串的位置,然后用替换串的字符替换掉模式串。第二行输入第1个实例的主串,第三行输入第1个实例的模式串,第四行输入第1个实例的替换串。第二行输出第1个实例的主串替换后结果,如果没有发生替换就输出主串原来的内容。本题只考虑一处替换的情况,如果你想做的完美一些,能够实现多处替换那。可能需要考虑模式串和替换串长度不一致的情况。第一行输出第1个实例的主串。原创 2023-10-11 10:00:00 · 316 阅读 · 0 评论 -
DS串应用--KMP算法
第二行输出第1个实例的匹配位置,位置从1开始计算,如果匹配成功输出位置,匹配失败输出0。第二行输入第1个实例的主串,第三行输入第1个实例的模式串。学习KMP算法,给出主串和模式串,求模式串在主串的位置。第一行输出第1个实例的模式串的next值。为什么next值和课本的不一样?第一个输入t,表示有t个实例。算法框架如下,仅供参考。原创 2023-10-10 22:48:30 · 154 阅读 · 1 评论 -
四进制加法(运算符重载)
定义一个四进制的类,重定义“+”号实现四进制数的累加。定义一个四进制的类,重定义“+”号实现四进制数的累加。所有输入四进制数累加的和。原创 2023-05-23 23:41:50 · 158 阅读 · 0 评论 -
OOP矩阵类运算(运算符重载)
请重载加减运算符并自定义矩阵类完成相应的操作。利用重载运算符,实现矩阵的加法,减法。接下来分别为两个矩阵的各个元素。第一行为矩阵的行数和列数。原创 2023-05-23 23:35:26 · 253 阅读 · 0 评论 -
学生生日差值计算(运算符重载)
定义一个学生类Student,包含该学生的姓名、出生年、月、日 ,重定义 “-”号实现两个学生之间相差多少天的比较。并利用重载的“-”运算符,求所有学生中年龄相差最大的两个人的名字以及相差天数。第二行开始,依次输入每个学生的姓名、出生年、月、日。输出年龄相差最大的两个人的名字以及相差天数。Tom和Jimmy年龄相差最大,为372天。第一行:输入所需要输入的学生个数;原创 2023-05-23 23:18:56 · 118 阅读 · 0 评论 -
分数的加减乘除(运算符重载)
1.实现Fraction类;common_divisor()和contracted()函数体可为空,不实现具体功能。每行依次分别输出加减乘除计算后的Fraction对象(直接输出分数值,不需要约简)。2.编写main函数,初始化两个Fraction对象的,计算它们之间的加减乘除。第1行:依次输入第1个和第2个Fraction对象的分子和分母值。原创 2023-05-23 23:00:34 · 264 阅读 · 0 评论 -
复数的加减乘运算(运算符重载+友元)
设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i.2.编写main函数,初始化两个Complex对象,计算它们之间的加减乘,并输出结果。定义一个复数类,通过重载运算符:+、-、*,实现两个复数之间的各种运算。第1行:输入两个数值,分别为第一个Complex对象的实部和虚部。第2行:输入两个数值,分别为第二个Complex对象的实部和虚部。第3行:两个Complex对象相乘后的输出结果。原创 2023-05-23 22:56:13 · 454 阅读 · 0 评论 -
图书借阅(对象数组+构造)
输入借书信息,对每次借书需求,根据样例给出结果。定义图书类CBook,数据成员包括:索取号、书名、馆藏数量、可借数量。Python大学教程 索取号: TP311.561-43/L93。TP311.561-43/L93 Python大学教程 3 1。软件工程基础 索取号: TP311.5-43/M18a1(2)TP311.561-43/L93 Python大学教程 3 0。TP311.5-43/M18a1(2) 软件工程基础 3 3。TP311.5-43/M18a1(2) 软件工程基础 3 2。原创 2023-05-14 16:14:22 · 172 阅读 · 0 评论 -
复数(输入输出运算符重载)
每次更改实部和虚部,调用运算符<<,输出复数类。注意考虑实部为零、虚部为负数和零等特殊情况。随后每个测试,调用运算符>>,接受两个数值,分别为要修改的Complex对象的实部和虚部。定义一个复数类,通过重载运算符:>>和<<,实现复数的输入输出。首先创建一个复数,实部和虚部均为0。原创 2023-05-13 22:58:52 · 1540 阅读 · 0 评论 -
货币加减(输入输出重载)
定义CMoney类,包含元、角、分三个数据成员,友元函数重载‘+’、‘-’,实现货币的加减运算(假设a-b中a的金额始终大于等于b的金额),重载输入、输出,实现货币的输入,输出。第二行开始,每行一个操作:add 元 角 分(加)、minus 元 角 分(减)、stop(结束)对每组测试数据,输出操作终止后的货币金额,具体输出格式见样例。可根据需要,为CMoney类添加构造函数或其它成员函数。读入最初的货币值,对其不断进行加、减操作,输出结果。第一行,初始货币:元 角 分。原创 2023-05-11 22:55:12 · 686 阅读 · 0 评论 -
图形输出(抽象类+多层继承)
编写一个全局函数Print,无返回值,含单个参数为Shape*类型,功能是输出图形的五个信息:名称、x和y坐标、面积、体积,要求输出必须使用抽象类的五个虚函数输出五个信息。定义Cylinder类继承Circle,新增数据h表示高度,设置名称为"Cylinder",其他函数根据需要自己编写。定义Circle类继承Point,新增数据r表示半径,设置名称为"Circle",其他函数根据需要自己编写。定义Point类继承Shape,在构造函数初始化x和y坐标,设置名称为"Point"要求程序中必须使用抽象类的…原创 2023-05-11 16:44:30 · 246 阅读 · 0 评论 -
学生成绩计算(继承和多态)
定义上述类并编写主函数,输入类型符号,若输入R,根据学生基本信息、平时成绩和考试成绩,建立非免听生对象,若输入S,根据学生基本信息、考试成绩,建立免听生对象。60%)计算的结果,85分(包含)以上为A,75分(包含)-85分(不包含)为B,65分(包含)-75分(不包含)为C,60分(包含)-65分(不包含)为D,60分(不包含)以下为F。免听生只有考试成绩和总评成绩两个属性,总评成绩100%根据考试成绩对应上述等级制成绩。非免听生具有平时成绩、考试成绩和总评成绩三个属性,总评成绩根据(平时成绩。原创 2023-05-08 21:52:27 · 396 阅读 · 1 评论 -
在职研究生(多重继承)
4)从CStudent和CTeacher类共同派生出在职研究生类CGradOnWork,添加属性:研究方向、导师;2)从CPeople类派生出学生类CStudent,添加属性:学号和入学成绩;3)从CPeople类再派生出教师类CTeacher,添加属性:职务、部门;1)定义一个人员类CPeople,其属性(保护类型)有:姓名、性别、年龄;2、分别定义以上类的构造函数、输出函数print及其他函数(如需要)。3、在主函数中定义各种类的对象,并测试之。原创 2023-05-08 23:01:09 · 330 阅读 · 1 评论 -
OOP 谁是名人堂球员(多重继承)
1)一个球员类Player作为基类,具有name、height、weight等数据成员,display()等成员函数。3、在主函数中定义各种类的对象,并测试之,通过对象调用display函数产生输出。3)从Player类派生出最佳防守球员类DPOY,添加属性:获奖年year。2、分别定义以上类的构造函数、输出函数display及其他函数(如需要)。2)从Player类派生出最有价值球员类MVP,添加属性:获奖年year。构造四个类对象,并按照如下格式进行输出。第一行输入球员的名字,身高,体重。原创 2023-05-08 23:03:59 · 116 阅读 · 0 评论 -
汽车收费(虚函数和多态)
从第二行开始,每个测试用例占一行,每行数据意义如下:汽车类型(1为car,2为Truck,3为Bus)、编号、基本信息(Car是载客数和重量,Truck给出重量,Bus给出载客数)。主函数根据输入的信息,相应建立Car,Truck或Bus类对象,对于Car给出载客数和重量,Truck给出重量,Bus给出载客数。假设载客数和重量均为整数。生成上述类并编写主函数,要求主函数中有一个基类指针Vehicle *pv;以Vehicle为基类,构建出Car、Truck和Bus三个类。Bus的收费公式为: 载客数*3。原创 2023-05-10 22:56:55 · 213 阅读 · 0 评论 -
员工工资(虚函数与多态)
某公司员工的属性有:姓名、职位、级别、工作年限,级别和年限都是非负整数,否则显示错误。包含方法有:构造函数,计算工资的方法(salary())。员工职位分为三种:Employee、Teamleader、Manager,其他职位类型显示错误。如有错误信息,则输出错误信息,若职位信息与级别和年限信息同时出错,仅输出职位错误信息。Manager的每月工资 = 5000 + 1000 * (级别+工作年限)每行输入一个员工的信息:包括姓名、职位、级别、工作年限。计算工资的方法返回每个员工的工资数。原创 2023-05-10 22:54:48 · 104 阅读 · 0 评论 -
动物园(虚函数与多态)
某个动物园内,有老虎、狗、鸭子和猪等动物,动物园的管理员为每个动物都起了一个名字,并且每个动物都有年龄、体重等信息。每种动物的叫唤声均不同,老虎的叫唤声是“AOOO”,狗的叫唤声是“WangWang”,鸭子的叫唤声是“GAGA”,猪的叫唤声是“HENGHENG”。定义一个Animal的基类,Animal类有函数Speak(),并派生老虎(Tiger)、狗(Dog)、鸭子(Duck)和猪(Pig)类,其能发出不同的叫唤声(用文本信息输出叫声)。编写程序,输入动物名称、名字、年龄,让动物园内的各种动物叫唤。原创 2023-05-10 22:54:12 · 212 阅读 · 1 评论 -
银行卡(多态+继承)
贵宾卡是普通卡的升级版,包含额外属性是信用额度(Credit),使得贵宾卡能够透支,即取出超过余额的钱,包含的额外方法是透支(over),当执行透支操作,余额清0,超过余额的部分用信用额度来扣减。交通卡是普通卡的升级版,包含额外属性是交通余额(Tcounter),使得交通卡能够当作深圳通使用,包含额外方法是转帐(transfer),把银行卡的钱转入交通余额中,注意转帐金额不能超过账户原有余额,不合法数据直接返回-1,执行成功则返回1。第六行输入四个整数,表示对贵宾卡按顺序执行1次存款,1次取款,2次透支。原创 2023-05-09 23:11:58 · 467 阅读 · 0 评论 -
OOP 两用沙发(多重继承)
OOP 两用沙发(多重继承)原创 2023-05-08 15:09:19 · 465 阅读 · 0 评论