向量类
来源:互联网 发布:eve数据地点出什么 编辑:程序博客网 时间:2024/05/18 20:06
#include<algorithm>#include<cstring>#include<iostream>using namespace std;//动态数组实现多维向量点 class Point{private: int *data; int dimension;public: Point(int); Point(int*,int); Point operator+(const Point&); Point operator-(const Point&); Point& operator=(const Point&); void print(); ~Point();};Point::Point(int n){dimension = n;data = new int [n];}Point::Point(int *a,int n){data=new int[n];dimension=n;for(int i=0;i<n;i++){data[i]=a[i];}}Point::~Point(){delete[]data;}void Point::print(){std::cout<<"(";for(int i=0;i<dimension;++i){if(i!=0)std::cout<<",";std::cout<<data[i];}std::cout<<")\n";//等下根据输出情况来看下是否需要输出\n }Point& Point::operator=(const Point& p){if(dimension!=p.dimension){delete[]data;dimension=p.dimension;data=new int [dimension];}for(int i=0;i<dimension;i++){data[i]=p.data[i];}return *this;}Point Point::operator +(const Point& p){int d = max(p.dimension,dimension);int* a=new int [d];memset(a,0,d);int t = min(dimension,p.dimension);for(int i=0;i<t;++i){a[i]=data[i]+p.data[i];}if(t < dimension){for(int i=t;i<d;++i){a[i] = data[i];}}else if(t < p.dimension){for(int i=t;i<d;++i){a[i] = p.data[i];}}Point temp(a,d);delete []a;return temp;}Point Point::operator -(const Point& p){int d = max(p.dimension,dimension);int* a=new int [d];memset(a,0,d);int t = min(dimension,p.dimension);for(int i=0;i<t;++i){a[i]=data[i]-p.data[i];}if(t < dimension){for(int i=t;i<d;++i){a[i] = data[i];}}else if(t < p.dimension){for(int i=t;i<d;++i){a[i] = -p.data[i];}}Point temp(a,d);delete []a;return temp;}int main(){ int n,m; cin>>n; int *temp1 = new int [n]; for(int i = 0 ; i < n ; i++) cin>>temp1[i]; Point a(temp1,n); a.print(); cin>>m; int *temp2 = new int [m]; for(int i = 0 ; i < m ; i++) cin>>temp2[i]; Point b(temp2,m); b.print(); delete []temp1; delete []temp2; (a+b).print(); Point c = a-b; c.print(); return 0;}
//比较简单,内附有测试main函数,可以说是非常良心了hhhhh(本肥宅得意地叉会腰)
阅读全文
0 0
- 向量类
- 向量类
- 向量类
- 向量类
- 向量类
- 3D向量类
- 三维向量类
- 二维向量类
- 向量类的实现
- 9-4 向量类
- 一维向量类
- 法向量工具类
- 我的向量类
- 我的向量类
- 我的向量类
- 定义向量类
- 构建向量类Vecto4
- 数组和向量类
- Linux常用命令之任务管理
- linux初学者-Apache篇
- 单调栈运用
- UVA
- 微信小程序实现动态添加标签(1)
- 向量类
- Flask学习笔记 评论部分第二部分
- 机器学习中偏差、方差的理解
- 解决mysql连表查询别名不起作用,同名的字段只能显示其中一个字段值。
- 集训第二十天(2017/8/19)CCPC打酱油
- Kotlin 学习笔记(一):开发环境搭建
- C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5)
- 经典排序算法总结与实现
- js函数传参