#include<cmath>
struct node{
double dis(node);//两点距离
//向量操作
node add(node);//加
double mul(node);//乘
node mul(double);//倍
double abs();//模长
node unt();//单位化
node neg();//取反
double agl(node);//夹角度数
bool eql(node);//向量相等
int pal(node);//向量平行(同行,反向)
double x,y;
};
double node::dis(node a){
return sqrt(pow(x-a.x,2)+pow(y-a.y,2));
}
node node::add(node a){
return {x+a.x,y+a.y};
}
double node::mul(node a){
return x*a.x+y*a.y;
}
node node::mul(double a){
return {x*a,y*a};
}
node node::neg(){
return {-x,-y};
}
double node::abs(){
return sqrt(x*x+y*y);
}
node node::unt(){
double d=this->abs();
return {x/d,y/d};
}
double node::agl(node a){
return acos((x*a.x+y*a.y)/(this->abs()*a.abs()));
}
bool node::eql(node a){
if(fabs(x-a.x)<1e-6&&fabs(y-a.y)<1e-6)return 1;
return 0;
}
int node::pal(node a){
node u1=this->unt();//先单位化
node u2=a.unt();
if(u1.eql(u2))return 1;//方向相同
if(u1.eql(u2.neg()))return -1;//方向相反
return 0;
}
相关推荐
向量存储和提示模板的分步教程 Python
向量存储和提示模板的分步教程 Python在Python编程中,向量存储和提示模板是两个非常有用的概念。向量存储是指将一系列数值存储在一个容器中,而提示模板是一种方法,通过在代码中定义模板,来生成具有相同结构的代码片段。这篇文章将为您提供关于如何在Python中使用向量存储和提示模板的详细教程,并附上相应的源代码。
锐捷交换机的VLAN配置
通过文件可以实现交换机VLAN的配置,完成交换机VLAN的划分及管理。
c++向量模板(myVector)
自己写的一个向量模板类,大家可以参考学习一下。
向量类模板
向量(vector)是一种随机访问的数组类型,提供了对数组元素的快速、随机访问,以及在序列尾部快速、随机的插入和删除操作。它是大小可变的向量,在需要时可以改变其大小。 1、使用向量类模板需要创建vector对象,创建vector对象有以下几种方法。 (1)、std::vector<type>name; 该方法创建了一个名为name的空vector对象,该对象可容纳类型为type的数据。 (2)、std::vector<type>name(size) 该方法用来初始化具有si
C++向量类模板
C++向量类模板 向量(vector)时一种随机访问的数组类型,提供了对数组元素的快速、随机访问,以及在序列尾部快速、随机的删除和插入操作。它是大小可变的向量,在需要时可以改变其大小。 创建vector向量的方法: vector <type> v; vector表示声明一个向量,< type >表示向量的类型,v表示向量名。 vector对象主要成员函数说明: 只是一些常......
向量类模板的实现
任务描述 向量类模板的实现。 相关知识 为了完成本关任务,你需要: 1.理解STL中容器的概念。 2.数组的基本操作。如数组元素的随机访问、基于指针的元素的插入、基于指针的元素的删除。 3.理解迭代器的概念,如何针对不同的容器实现其迭代器。 4.基于函数模板的通用算法的实现。 编程要求 根据提示,在右侧编辑器补充代码,完成向量类模板的成员函数的功能。 测试说明 平台会对你编写的代码进行测试: 测试输入:无; 预期输出: The original numbers are: 0 1 2 3 4
C++——设计实现一个动态向量模板类DVector
②运算符重载:赋值运算符=、加法运算符+(向量对应维度相加,结果为向量)、乘法运算符*(向量对应维度乘积之和,值为标量);①实现构造函数、析构函数和复制构造函数;③输出流运算符
从零学习C++第八篇:类模板与向量
一、类模板类模板一般声明方法如下:template <类模板参数>class 类名{//实体}类模板对象:类名<模板实例化参数类型>对象名(构造参数实参列表); 类名<模板实例化参数类型>对象名;在类外面定义成员函数,必须用template重写类模板声明: template<模板参数>...
N维向量的模板实现
code:vectorBase.hpp:一些低维特化、#include using namespace std;// for any dimensions other than // specified below, this struct will// be usedtemplatestruct vector_base{ T m_data[N];}
数据结构——向量——向量模板源码
数据结构之向量模板实现源码,欢迎大家来参考学习。
C++入门系列:第七章 类模板和向量
文章目录1 类模板声明2 定义向量列表3 泛型指针4 向量最基本的操作4.1 访问向量容量信息的方法4.2 访问向量中对象的方法4.3 在向量中插入对象的方法4.4 在向量中删除对象的方法 1 类模板声明 类模板声明的一般方法如下: template <类模板参数> class 类名 {}; 用类模板定义对象的一般格式如下: 类名<模板实例化参数类型> 对象名(构造函数实...
自考 C++ 杂记 —— 类模板与向量
目录 一、类模板 1.1 模板类基础语法 1.2 模板类的派生与继承(仅介绍模板类继承非模板类和从模板类派生一个类模板的情况) 二、向量与泛型算法 1.定义向量列表 2.泛型指针 3.向量最基本的操作方法 历年真题: 一、类模板 1.1 模板类基础语法 声明类模板 template <typename T> 或者template <cla...
向量模板类
数据结构之向量1.简述数据结构是数据项的结构化集合,其结构性表现为数据项之间的相互联系及作用,也可以理解为定义数据项之间的某种逻辑次序。而根据这种逻辑次序的复杂程度,大致可以将各种逻辑结构大致分为三大类。 线性结构 半线性结构 非线性结构 最为基本的线性结构统称为序列,分为向量和列表。 - 在向量中,所有数据项的物理存放位置与逻辑次序完全吻合,此时的逻辑次序也称作秩。 - 在列表中,逻辑上相邻的
net.sorceforge JAR 包
哎,不好找啊!希望喜欢
哈希表的建立及其构造
较优,程序简短,较易懂,实现时很方便,短炼
opendaylight Lithium 中文说明书
opendaylight Lithium 中文使用说明书
20201216C++vector 向量模板类使用
C++vector向量模板类的使用 1.vector向量模板类的头文件 #include<vector>//vector向量模板类头文件 using namespace std; //std宏 2.vector向量模板类的创建 vector<int>a;//模板类的定义 3.vector向量模板类的使用 //向量模板类有许多的类函数如: //1.插入数据的类函数 a.push_back(1);//在尾部插入一个数据 a[1]=2;//在位置为1的地方插入数据,这
头歌向量类模板的实现
头歌向量类模板的实现 任务描述 向量类模板的实现。 相关知识 为了完成本关任务,你需要: 1.理解STL中容器的概念。 2.数组的基本操作。如数组元素的随机访问、基于指针的元素的插入、基于指针的元素的删除。 3.理解迭代器的概念,如何针对不同的容器实现其迭代器。 4.基于函数模板的通用算法的实现。 编程要求...
C++程序设计模板,向量和栈
C++程序设计模板 1. 模板基础 模板功能提供了在函数和类中将类型作为参数的能力,可以设计具有通用类型的函数和类,而编译 器可在编译时将通用类型确定为一种特定类型 //一个求最大值的通用模板 GenericType maxValue(GenericType value1,GenericType value2){ if(value1 > value2){ return value1 }else return value2; } # include <iostream> #
165




被折叠的 条评论
为什么被折叠?



