• YTU 2945: 编程:五元向量的运算


    2945: 编程:五元向量的运算

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 151  解决: 85

    题目描述

    用习惯了的运算符操作新定义的类对象,这是OO方法给我们带来的便利。下面要为的五元向量(每个向量有5个元素)装备加法、数乘和输入输出的运算功能,请在begin至end部分,写上需要的代码并提交。
    #include <iostream>
    using namespace std;
    const int N=5;   //向量中存储的数据个数,这里确定为5元向量
    class MyVector
    {
    public:
        MyVector(){};    //构造函数
        MyVector(const MyVector &v);  //复制构造函数
        friend istream &operator>>(istream &input, MyVector &d);   //输入向量
        friend ostream &operator<<(ostream &output, const MyVector &d);  //输出向量
        MyVector operator+(const MyVector &d);  //向量相加,当前对象与d对应位置上的元素相加
        MyVector operator*(int n);   //向量数乘,当前对象的每个元素与n相乘
    private:
        int data[N];      //在data数组中存储数据
    };

    MyVector::MyVector(const MyVector &d)
    {
        for(int i=0; i<N; ++i)
            data[i]=d.data[i];
    }
    //**********begin*****************


    //**********end*****************
    int main()
    {
        MyVector d1,d2;
        int n;
        cin>>d1;
        cin>>d2;
        cin>>n;
        cout<<"+: "<<d1+d2<<endl;
        cout<<"*: "<<d1*n<<endl;
        return 0;
    }

    输入

    第一个五元向量,五个数之间用空格隔开
    第二个五元向量,五个数之间用空格隔开
    一个整数

    输出

    两个五元向量的和: 格式:前后加括号,两数之间用加逗号和一个空格
    第一个五元向量与整数的数乘结果,格式同前
    (运算规则:和运算为向量对应位置元素相加,数乘运算为各元素分别乘以给定的数。)

    样例输入

    1 25 41 16 98
    5 67 9 55 121
    3

    样例输出

    +: (6, 92, 50, 71, 219)
    *: (3, 75, 123, 48, 294)

    你  离  开  了  ,  我  的  世  界  里  只  剩  下  雨  。  。  。

    #include <iostream>
    using namespace std;
    const int N=5;   //向量中存储的数据个数
    class MyVector
    {
    public:
        MyVector() {};   //构造函数
        MyVector(const MyVector &v);  //复制构造函数
        friend istream &operator>>(istream &input, MyVector &d);
        friend ostream &operator<<(ostream &output, const MyVector &d);
        MyVector operator+(const MyVector &d2);  //向量相加,当前对象与d2对应位置上的元素相加
        MyVector operator*(int n);   //向量数乘,当前对象的每个元素与n相乘
    private:
        int data[N];      //在data数组中存储数据
    };
    MyVector::MyVector(const MyVector &d)
    {
        for(int i=0; i<N; ++i)
            data[i]=d.data[i];
    }
    istream &operator>>(istream &input, MyVector &d)
    {
        for(int i=0; i<5; i++)
            input>>d.data[i];
        return input;
    }
    ostream &operator<<(ostream &output, const MyVector &d)
    {
        int i;
        output<<"("<<d.data[0]<<", ";
        for(i=1; i<4; i++)
        {
            output<<d.data[i]<<", ";
        }
        output<<d.data[i]<<")";
        return output;
    }
    MyVector MyVector::operator+(const MyVector &d)
    {
        MyVector a;
        for(int i=0; i<5; i++)
            a.data[i]=d.data[i]+data[i];
        return a;
    }
    MyVector MyVector::operator*(int n)
    {
        MyVector a;
        for(int i=0; i<5; i++)
            a.data[i]=n*data[i];
        return a;
    }
    int main()
    {
        MyVector d1,d2;
        int n;
        cin>>d1;
        cin>>d2;
        cin>>n;
        cout<<"+: "<<d1+d2<<endl;
        cout<<"*: "<<d1*n<<endl;
        return 0;
    }
    

  • 相关阅读:
    Java垃圾收集器概述
    redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
    Serialize a Long as a String
    数据库遇到的问题
    解决Safari页面缓存的问题
    idea -> Error during artifact deployment. See server log for details.
    正则表达式
    commons-lang
    Template和Style
    WPF资源
  • 原文地址:https://www.cnblogs.com/im0qianqian/p/5989649.html
Copyright © 2020-2023  润新知