(考试)2017年大一下学期C++期末考试题目五
来源:互联网 发布:大乐斗技能奥义数据 编辑:程序博客网 时间:2024/06/04 19:39
4005:类模板
Problem Description
定义一个类模板,包括一个由小到大排列的数据序列,数据元素个数等数据成员,以及构造函数、输出函数和删除函数等成员函数。其中,删除函数用来删除数据系列中相同的数据。
Input
输入数据有多组,每组占3行, 第一行是整数,第二行是实数,第三行是字符。每行的第一个数是整数,表示元素个数。
Output
对于每组输入数据,输出占3行,每行输出删除相同元素后剩下的元素,每个元素后都带有1个空格。具体见输出样例。
Sample Input
5 1 2 2 3 56 2.4 2.4 3.3 3.3 4 68 aabbccdd
Sample Output
1 2 3 5 2.4 3.3 4 6 a b c d
心得
送分题,主要考察了类模板的简单应用,可以参考MNNUOJ的8079.
答案
#include <iostream>#include <cstring>using namespace std;template<class T>class array{private: int length; T *arr;public: array(int length,T *s):length(length) { arr=new T[length]; for(int i=0;i<length;i++) arr[i]=s[i]; } void show() { for(int i=0;i<length;i++) cout<<arr[i]<<" "; cout<<endl; } void clear() { int top=0; T *newArr=new T[length]; for(int i=0;i<length-1;i++) { if(arr[i]!=arr[i+1]) newArr[top++]=arr[i]; } if(newArr[top-1]!=arr[length-1]) newArr[top++]=arr[length-1]; length=top; arr=newArr; } ~array() { delete[] arr; }};int main(){ int n,*a1; double *a2; char *a3; while(cin>>n) { a1=new int[n]; for(int i=0;i<n;i++) cin>>a1[i]; array<int> t1(n,a1); t1.clear(); t1.show(); cin>>n; a2=new double[n]; for(i=0;i<n;i++) cin>>a2[i]; array<double> t2(n,a2); t2.clear(); t2.show(); cin>>n; a3=new char[n]; for(i=0;i<n;i++) cin>>a3[i]; array<char> t3(n,a3); t3.clear(); t3.show(); delete[] a1,a2,a3; } return 0;}
阅读全文
0 0
- (考试)2017年大一下学期C++期末考试题目五
- (考试)2017年大一下学期C++期末考试题目一
- (考试)2017年大一下学期C++期末考试题目二
- (考试)2017年大一下学期C++期末考试题目三
- (考试)2017年大一下学期C++期末考试题目四
- (大一下学期)c语言上机考试知识点
- 大一下学期的期末考试后
- 大一下学期!
- 大一下学期总结
- 大一下学期+暑假
- 大一下学期课程设计
- 大一下期末考试:排序问题
- 大一下学期 C语言课程设计 期末考核
- 学期小结2:大一下学期
- 大一下学期...怎么安排?
- 大一下学期的总结
- 大一下学期暑假任务
- 大一下学期前半段总结
- HihoCoder
- 微信小程序分页加载
- 【C语言】模拟33选7的彩票生成器
- Python 学习日知录(七)- cmd进阶
- hadoop namenode -format 出错
- (考试)2017年大一下学期C++期末考试题目五
- Levenshtein编辑距离
- hbase 源代码解析(3) 的createTable 服务端解析第二部分
- 爬取糗事百科的段子Demo
- Python中defaultdict与lambda表达式小结
- Array-leetcode 566 Reshape the Matrix
- CSS随笔2
- ceph dd 测试读写
- 对日志数据中的上下行流量信息汇总---分区统计