C++
ponytaill
绝望之所虚妄,正与希望相同。
展开
-
数据结构之堆栈的应用
一、 实验目的掌握堆栈的使用。二、 实验内容7、 输入一个数学表达式(假定表达式输入格式合法),计算表达式结果并输出。8、 数学表达式由单个数字和运算符“+”、“-”、“*”、“/”、“(、) ”构成,例如 2 + 3 * ( 4 + 5 ) - 6 / 4。9、 变量、输出采用整数,只舍不入。代码如下:#include<iostream> #include <cstring>#include<stdio.h>#include<stdl.原创 2021-11-29 17:35:40 · 1368 阅读 · 0 评论 -
数据结构实验之在线等价类
二、 实验目的掌握在线等价类的使用,要求使用模拟指针实现。三、 实验内容1、 使用模拟指针实现本实验。2、 输入一个1-9的正整数n,代表要创建n个元素,例如输入5,则代表创建一个1,2,3,4,5组成的元素表。3、 再输入一个大于0正整数r,代表后面要输入r个等价关系。4、 分行输入r个等价关系,格式如(1,2)。5、 分行输出所有等价类,一个等价类的元素由小到大依次输出。例如等价类(1,3,5,2,4),输出时排序输出(1,2,3,4,5)。6、 如果输出不是由小到大顺序输出,解决办法.原创 2021-11-22 20:04:14 · 3455 阅读 · 1 评论 -
数据结构实验之有序链表操作
一、 实验目的1、 掌握有序链表的基本操作:插入、删除、查找。2、 掌握链表遍历器的使用方法。二、 实验内容1、 输入n个不为零的整数作为节点元素值,遇到0代表输入结束(不创建元素值为0的节点),创建有序链表。输出整个链表。2、 输入一个整数,将该数插入到有有序链表相应位置。输出整个链表。3、 输入一个整数,在链表中进行搜索,输出其在链表中的第一个出现的位置。如果不存在输出0。4、 再一次输入一个整数,在链表中进行搜索,输出其在链表中的第一个出现的位置。如果不存在输出0。5、 再一次输入n.原创 2021-11-22 20:01:16 · 1717 阅读 · 0 评论 -
数据结构之排序算法
实验目的:掌握三种排序方法的实现思想。实验内容1、 最多接受20个不为零的正整数进行排序,如果中间输入0则代表提前结束输入,0之前输入几个数就用几个数参与排序,0不参与排序。2、 数字选择排序方法,1-Bubble Sort,2-Insert Sort,3-Radix Sort(注意大小写要区分)。3、 基数排序能够仅仅实现小于10的正整数的排序。如果输入的数据有大于9数据,基数排序不再排序,直接输出一个0后结束程序。4、 使用所选排序方法的排序,结果输出所用方法以及结果,每个数之间用“,.原创 2021-11-02 18:08:21 · 297 阅读 · 0 评论 -
c++递归练习
实验目的1、 熟悉开发工具的使用。2、 掌握递归的实现思想。实验内容1、 输入2-20个大于0的正整数(1、2、3或者100、200、300),输入0作为结束,0不参与排列。2、 输出这几个整数的全排列,每个数之间用半角“,”隔开,中间不要有空格,每个排列单独一行。//Author:horsetaill#include <iostream>using namespace std;void swap(int a[20],int index1,int index2){ i.原创 2021-10-25 23:41:38 · 551 阅读 · 0 评论 -
c++实现下三角矩阵的取值和存值
33.假定按行的方式把对称矩阵的下三角区域储存在一个一维数组中。设计一个C++类lowerSymmetricMatrix,包含取值和存值方法。这两个方法的时间复杂度应为(1) #include <iostream> using namespace std; template <class T> class lowerSymmetricMatrix{ public : lowerSymmetricMatrix(int theRows = 0, int t.原创 2021-10-09 22:17:29 · 679 阅读 · 1 评论 -
c++实现下三角矩阵的各功能
#include <iostream> using namespace std; template <class T> class matrix{ public : matrix(int theRows = 0, int theColumns=0) { this->theColumns=theColumns; this->theRows=theRows; element= new T [theRows*theC原创 2021-10-09 19:32:16 · 530 阅读 · 0 评论 -
拷贝构造函数的析构问题
下列程序的运行结果是 #include <iostream.h>class point{ int x,y;public: point(int a,int b) {x=a;y=b; cout<<"calling the constructor function."<<endl; } point(point &p); friend poin...原创 2021-05-30 17:53:06 · 1255 阅读 · 0 评论 -
7-15 单继承中的构造函数与析构函数 (10 分)
7-15 单继承中的构造函数与析构函数 (10 分编写代码实现一个表示点的父类Dot和一个表示圆的子类Cir,求圆的面积。Dot类有两个private数据成员 float x,y;Cir类新增一个private的数据成员半径float r 和一个public的求面积的函数getArea( );主函数已经给出,请编写Dot和Cir类。#include <iostream>#include<iomanip>using namespace std;const d原创 2021-05-25 11:21:55 · 3177 阅读 · 0 评论 -
7-14 A是A1的虚基类 (10 分)
7-14 A是A1的虚基类 (10 分)本题目要求读入3个整数A、B和C,然后按照下列要求完成相关设计:1.定义一个基类A,在其中包含保护的数据成员int i,设计类A的带参构造函数对i进行初始化,定义成员函数display()显示i值; 2.定义基类A的公有派生类A1,且A是A1的虚基类;A1中包含保护的数据成员int j,设计类A1的构造函数; 3.定义基类A的公有派生类A2,且A是A2的虚基类;A2中包含保护的数据成员int k,设计类A2的构造函数; 4.定义类A3,A3是A1和A2以多继承方式原创 2021-05-25 11:09:38 · 1485 阅读 · 1 评论 -
7-12 马会飞 (10 分)
7-12 马会飞 (10 分)已知Horse类是Pegasus类的父类,根据以下主函数完善程序内容,以实现规定的输出。不允许改变主函数的内容。int main(){ Horse *p1 = new Horse; //输出:Horse 申请了空间... Horse *p2 = new Pegasus; /* 输出两行: Horse 申请了空间...原创 2021-05-25 09:41:04 · 585 阅读 · 0 评论 -
7-10 用虚函数计算各种图形的面积 (10 分)
7-10 用虚函数计算各种图形的面积 (10 分)定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle( 长方形)、Trapezoid (梯形)和Triangle (三角形),用虚函数分别计算各种图形的面积,输出它们的面积和。要求用基类指针数组,每一个数组元素指向一个派生类的对象。PI=3.14159f,单精度浮点数计算。输入格式:输入在一行中,给出9个大于0的数,用空格分隔,分别代表圆的半径,正方形的边长,矩形的宽和高,梯形的上底、下底原创 2021-05-25 09:23:36 · 3325 阅读 · 0 评论 -
7-8 多边形周长计算(继承) (10 分)
7-8 多边形周长计算(继承) (10 分)给出下面的多边形基类框架:class polygon{ protected: int number;//边数,最多不超过100条边private: int side_length[100];//边长数组public: polygon();//构造函数根据需要重载 int perimeter();//计算多边形边长 void display();//输出多边形边数和周长}建立一个派生类rectan原创 2021-05-25 08:38:09 · 1839 阅读 · 0 评论 -
7-6 学生CPP成绩计算 (10 分)
7-6 学生CPP成绩计算 (10 分)给出下面的人员基类框架:class Person {protected: string name; int age;public: Person(); Person (string p_name, int p_age); void display () {cout<<name<<“:”<<age<<endl;}};建立一个派生类原创 2021-05-24 22:19:53 · 4031 阅读 · 0 评论 -
7-5 分钟秒钟的时间相减 (10 分)
7-5 分钟秒钟的时间相减 (10 分)题目描述: 定义一个时间类,分钟和秒钟是其两个私有成员数据。输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计算这两个时间相隔多少秒钟。说明:这两个时间在同一小时之内,且采用60分钟60秒钟的计时分式,即从00:00-59:59。 输入格式: 测试输入包含若干测试用例,每个测试用例占一行。每个测试用例包括四个数,每个数之间用空格间隔,每个数都由两位数字组成,第一个数和第二个数分别表示起始时间的分钟和秒钟,第三个数和第四个数原创 2021-05-24 21:20:10 · 1088 阅读 · 0 评论 -
6-2 类模板Store的定义与使用 (10 分)
6-2 类模板Store的定义与使用 (10 分)struct Student { // 结构体Student int id; //学号 float gpa; //平均分 };//定义类模板及函数,函数在类体外定义 template class Store //类模板:实现对任意类型数据进行存取裁判测试程序样例:int main() { try { Store<int> s1, s2; //定义两个Store<int>类对象,其中数据成原创 2021-05-24 19:07:58 · 1002 阅读 · 0 评论 -
6-1 类模板Point的定义与使用 (10 分)
定义类模板Point,有两个坐标(x,y),x和y的类型可以不同,坐标的数据类型可以是int、float,double类型. 具有获取坐标的成员函数getX和getY。接口定义:class Point裁判测试程序#include <iostream>using namespace std;@@@int main(){ Point<int, int> p1(10, 20); Point<int, float> p2(1原创 2021-05-24 18:08:55 · 1587 阅读 · 0 评论 -
7-16 组织星期信息 (10 分)
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:定义一个指针数组将下面的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1。Sunday Monday Tuesday Wednesday Thursday Friday Saturday输入输出示例:括号内为说明,无需输入输出输入样例 (repeat=3) :3TuesdayWednesdayyear输出样例:34-1#in原创 2021-04-27 11:02:56 · 2069 阅读 · 0 评论 -
凯撒密码
为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其加密后输出。恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上偏移offset位后被替换成密文,当offset大于零时,表示向后偏移;当offset小于零时,表示向前偏移。输入格式:输入第一行给出一个以回车结束的非空字符串(少于80个字符);第二行输入一个整数offset。输出格式:输出加密后的结果字符串。输入样原创 2021-04-27 10:02:17 · 698 阅读 · 0 评论