YTU-OJ-Problem A: A代码完善--向量的运算

Problem A: A代码完善--向量的运算

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 197   Solved: 116
[ Submit][ Status][ Web Board]

Description

注:本题只需要提交填写部分的代码,请按照C++方式提交。

对于二维空间中的向量,实现向量的减法和取负运算。如向量A(x1,y1)和B(x2,y2),
则 A-B 定义为 (x1-x2,y1-y2) , -A 定义为 (-x1,-y1) 。

#include <stdio.h>
#include <iostream>
using namespace std;
class Vector
{
private :
    int x,y;
public:
    void setValue(int x,int y)
    {
        this->x=x;
        this->y=y;
    }
    void output()
    {
        cout<<"x="<<x<<",y="<<y<<endl;
    }
    Vector operator-();
    friend Vector operator- (Vector &v1,Vector &v2);
};

int  main()
{
    Vector A,B,C;
    int x,y;
    cin>>x>>y;
    A.setValue(x,y);
    cin>>x>>y;
    B.setValue(x,y);
    C = A - B;
    C.output();
    C = -C;
    C.output();
    return 0;
}
/*
 请在该部分补充缺少的代码

*/

Input

两个向量

Output

向量减法和向量取负运算后的结果

Sample Input

10 20 15 25

Sample Output

x=-5,y=-5
x=5,y=5

HINT

#include <stdio.h>
#include <iostream>
using namespace std;
class Vector
{
private :
    int x,y;
public:
    void setValue(int x,int y)
    {
        this->x=x;
        this->y=y;
    }
    void output()
    {
        cout<<"x="<<x<<",y="<<y<<endl;
    }
    Vector operator-();
    friend Vector operator- (Vector &v1,Vector &v2);
};

int  main()
{
    Vector A,B,C;
    int x,y;
    cin>>x>>y;
    A.setValue(x,y);
    cin>>x>>y;
    B.setValue(x,y);
    C = A - B;
    C.output();
    C = -C;
    C.output();
    return 0;
}
//
Vector Vector::operator-()
{
    Vector v;
    v.x=-(this->x);
    v.y=-(this->y);
    return v;
}
Vector operator- (Vector &v1,Vector &v2)
{
    Vector v;
    v.x=v1.x-v2.x;
    v.y=v1.y-v2.y;
    return v;
}
//


你可能感兴趣的:(C++)