Problem C: 数组类(I)
来源:互联网 发布:python 安装xpath 编辑:程序博客网 时间:2024/06/05 17:32
Problem C: 数组类(I)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 2002 Solved: 1395
[Submit][Status][Web Board]
Description
封装一个整型数组类,用于存储整数和处理的相关功能,支持以下操作:
1. Array::Array()无参构造方法:创建一个空数组对象。
2. Array::size()方法:返回Array对象中元素个数。
3. Array::get(int n)方法:按格式从输入读取n元素。
4. 下标运算符:返回下标所指的元素。
-----------------------------------------------------------------------------
你设计一个数组类Array,使得main()函数能够正确运行。
函数调用格式见append.cc。
append.cc中已给出main()函数
Input
输入的第一个整数n,表示有n组测试数据。
后面的每行以一个整数k开头,表示后面有k个整数。
Output
把输入的数组,输出出来。每行数据对应一个输出。格式见sample。
Sample Input
42 10 201 003 1 2 3
Sample Output
10 2001 2 3
HINT
Append Code
append.cc,
本题有两种做法,第一种,运用vector容器可以轻松解决:
#include<iostream>#include<vector>using namespace std;class Array{private: vector<int>q;public: Array(){} int size() { return q.size(); } void get(int a) { q.clear(); int m; for(int i=0;i<a;i++) { cin>>m; q.push_back(m); } } int operator [](int n) { return q[n]; }};int main(){ int cases; Array arr; cin >> cases; for(int ca = 1; ca <= cases; ca++) { int len; cin >> len; arr.get(len); for(int i = 0; i < arr.size(); i++) if(i + 1 == arr.size()) cout << arr[i]; else cout << arr[i] << " "; cout << endl; }}第二种,普通方法,运用数组解决:
#include<iostream>#include<cstring>using namespace std;class Array{private: int *a; int _len;public: Array(int len=0):_len(len){a=new int [_len];} int size(){return _len;} void get(int n) { _len=n; for(int i=0;i<_len;i++) cin>>a[i]; } int operator[](int n) { return a[n]; } ~Array(){delete []a;}};int main(){ int cases; Array arr; cin >> cases; for(int ca = 1; ca <= cases; ca++) { int len; cin >> len; arr.get(len); for(int i = 0; i < arr.size(); i++) if(i + 1 == arr.size()) cout << arr[i]; else cout << arr[i] << " "; cout << endl; }}
0 0
- Problem C: 数组类(I)
- Problem C: 数组类(I)
- Problem C: 数组类(I)
- Problem A: 数组类(I)
- Problem I: 失恋的小T(后缀数组)
- Problem C: 查找【数组】
- YTU-OJ-Problem I: 熟悉题型——类设计( 矩形类定义【C++】)
- Problem A: 字符串类(I)
- Problem A: 字符串类(I)
- Problem F: 字符串类(I)
- Problem A: 字符串类(I)
- oj Problem C: 查找【数组】
- Problem C: 数组---求数组中的最大值
- Train Problem I(栈)
- Train Problem I(栈)
- 寻找数组中第i小的数(C++)
- Problem D: 数组类(II)
- Problem D: 数组类(II)
- [Visio 2007]解决 “类图”调整宽度后,换行的文字溢出的问题(如何调整“类图”的高度?)
- AndroidStudio子类快速实现未实现的方法-快捷键
- 关于时间复杂度与空间复杂度
- C/C++ 指针笔记
- Android Studio 自定义设置注释模板
- Problem C: 数组类(I)
- stm32的I2C主从模式
- 整理笔记
- java复习——关键字&标识符&命名规则
- 巴恩斯利蕨
- Lua + GraphicsMagick安装 (第二种的lua脚本)
- LabVIEW的数组实现随机数组顺序倒置和后五位前移
- 我的第一个c++程序
- Activity的回顾(二)