⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vector.h

📁 提供矩阵以及向量的各种运算
💻 H
字号:
#pragma once
#include<iostream>
using std::cout;
using std::cin;
using std::endl;


class vector
{
private:
	int n;
	double *vector1;
public:
	vector(int r):n(r)
	{
		vector1 = new double[n];
	}
	vector()
	{
		vector1 = NULL;
	}
	vector(vector&t)
	{
		n=t.n;
		vector1 = new double[n];
		for(int i=0;i<n;i++)
			vector1[i]=t.vector1[i];
	}
	void setVector(int i,double res)
	{
		vector1[i]=res;
	}
	double getVector(int i)
	{
		return vector1[i];
	}
	int getN(){return n;}
	vector& copy(vector& t)
	{
		n=t.getN();
		vector1 = new double[n];
		for(int i=0;i<n;i++)
			vector1[i]=t.vector1[i];
		return *this;
	}
	void input()
	{
		for(int i=0;i<n;i++)
			cin>>vector1[i];
		cout<<endl;
	}
	void output()
	{
		for(int i=0;i<n;i++)
			cout<<vector1[i]<<",";
		cout<<endl;
	}
	~vector()
	{
		delete[] vector1;
	}
	double operator * (const vector&vec)const
	{
		double res=0;
		for(int i=0;i<n;i++)
		{
			res+=vector1[i]*vec.vector1[i];
		}
		return res;
	}


	vector& operator +(const vector& t)const
	{
		vector* res = new vector(n);
		for(int i=0;i<n;i++)
			res->vector1[i]=vector1[i]+t.vector1[i];
		return *res;
	}


	vector& operator/(const double& t )const
	{
		vector* res = new vector(n);
		for(int i=0;i<n;i++)
			res->vector1[i]=vector1[i]/t;
		return *res;
	}


	double max()const
	{
		double max=0;
		for(int i=0;i<n;i++)
		{
			max = max>=fabs(vector1[i])?max:fabs(vector1[i]);
		}
		return max;
	}


};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -