YTU-OJ-Problem A: A程式碼完善--向量的運算

kewlgrl發表於2015-07-21

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;
}
//


相關文章