Problem C: C++第十章习题3
2013-04-20 01:31
423 查看
Problem C: C++第十章习题3
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 102 Solved: 53
[Submit][Status][Web
Board]
Description
类模板T_Vector实现向量运算的加减运算,在main函数中使用该类模板建立整型向量对象进行向量的加减运算。Input
输入为若干组数据,每组数据用4行表示。第1行为1个字符(+、-中的一个),表示所要做的向量运算,第2行为一个小于100整数,表示向量的长度,第3行和第4行均为n个整数,各整数间用空格分隔,第3行和第4行表示两个向量。Output
输出为若干组数据,每组数据用1行表示。输出长度为n的向量,向量的各分量之间用空格分隔(注意最后一个分量后不接空格)Sample Input
+31 2 34 5 6-41 2 3 45 6 7 8Sample Output
5 7 9-4 -4 -4 -4HINT
[Submit][Status][WebBoard]
한국어 中文 فارسی English ไทย
#include <iostream> using namespace std; template <class T> class T_Vector { protected: T *t; int n; public: T_Vector(int m):n(m) { t=new T ; } void getVector(); void showVector(); T_Vector operator +(T_Vector<T> &); T_Vector operator -(T_Vector<T> &); }; template <typename T> void T_Vector<T>::getVector() { for (int i=0; i<n; i++) { cin>>t[i]; } } template<typename T> void T_Vector<T>::showVector() { for (int i=0; i<n-1; i++) { cout<<t[i]<<" "; } cout<<t[n-1]<<endl; } template <typename T> T_Vector<T> T_Vector<T>::operator+(T_Vector<T> &v1) { T_Vector <T>v2(n); for (int i=0; i<n; i++) { v2.t[i]=t[i]+v1.t[i]; } return v2; } template <typename T> T_Vector<T> T_Vector<T>::operator-(T_Vector<T> &v1) { T_Vector <T>v2(n); for (int i=0; i<n; i++) { v2.t[i]=t[i]-v1.t[i]; } return v2; } int main() { char type; int n; while (cin>>type) { cin>>n; if (type=='+') { T_Vector<int> v1(n); v1.getVector(); T_Vector<int> v2(n); v2.getVector(); v1=v1+v2; v1.showVector(); } if (type=='-') { T_Vector<int> v1(n); v1.getVector(); T_Vector<int> v2(n); v2.getVector(); v1=v1-v2; v1.showVector(); } } }
相关文章推荐
- Homework 1165 - C++作业第十章(主讲老师徐红云) Problem B: C++第十章习题2
- Homework 1165 - C++作业第十章(主讲老师徐红云)Problem C: C++第十章习题3
- Homework 1165 - C++作业第十章(主讲老师徐红云)Problem D: C++第十章习题4
- 第十五周oj刷题——Problem M: C++习题 矩阵求和--重载运算符
- Problem D: C++习题-快速排序
- 第十五周oj刷题——Problem D: C++习题 对象数组输入与输出
- C++Primer第五版 第十章习题答案(31~40)
- oj刷题—Problem D: C++习题-快速排序
- 第十五周oj刷题——Problem F: C++习题 商品销售
- OJ第三批——Problem D: C++习题 输入输出--公有继承
- 第十五周oj刷题——Problem N: C++习题 复数类--重载运算符3+
- 第十七周oj刷题——Problem D: C++习题 输入输出--公用继承
- c++ primer plus第十章习题答案
- 第十五周oj刷题——Problem I: C++ 习题 比较大小-类模板
- Homework 1165 - C++作业第十章(主讲老师徐红云) Problem A: C++第十章习题1
- 第十七周oj刷题——Problem E: C++习题 输入输出--私有继承
- C++ primer plus 第十章课后习题,原创答案。
- Problem D: C++习题-快速排序 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 395 Solved: 169 [Submit][Stat
- 第十七周oj刷题——Problem F: C++习题 输入输出--保护继承
- 第十五周oj刷题——Problem M: C++习题 矩阵求和--重载运算符