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

YTU 2945: 编程:五元向量的运算的更多相关文章

  1. YTU 2611: A代码完善--向量的运算

    2611: A代码完善--向量的运算 时间限制: 1 Sec  内存限制: 128 MB 提交: 256  解决: 168 题目描述 注:本题只需要提交填写部分的代码,请按照C++方式提交. 对于二维 ...

  2. R语言编程艺术# 数据类型向量(vector)

    R语言最基本的数据类型-向量(vector) 1.插入向量元素,同一向量中的所有的元素必须是相同的模式(数据类型),如整型.数值型(浮点数).字符型(字符串).逻辑型.复数型等.查看变量的类型可以用t ...

  3. Linux网络编程(五)

    /*Linux网络编程(五)——多路IO复用之select() 网络编程中,使用IO复用的典型场合: 1.当客户处理多个描述字时(交互式输入以及网络接口),必须使用IO复用. 2.一个客户同时处理多个 ...

  4. C++模板元编程 - 1 基本数据类型和运算

    这是博客开通前几天做的,C++的模板没办法存方便的浮点数,算了. 基本类型的设计参考了vczh轮子叔模仿boost的MPL的设计. 话说template和typename写多了真是无限烦人啊,不得已定 ...

  5. R语言入门:向量的运算

    向量之间的加减乘除运算: > x <- 1 > x [1] 1 2 3 4 5 6 7 8 9 10 > x=x+1 > x [1] 2 3 4 5 6 7 8 9 10 ...

  6. socket编程五种模型

    客户端:创建套接字,连接服务器,然后不停的发送和接收数据. 比较容易想到的一种服务器模型就是采用一个主线程,负责监听客户端的连接请求,当接收到某个客户端的连接请求后,创建一个专门用于和该客户端通信的套 ...

  7. python高级编程之元类(第3部分结束)

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #元编程 #new-style类带来了一种能力,通过2个特殊方法(_ ...

  8. C++面向对象高级编程(五)类与类之间的关系

    技术在于交流.沟通,转载请注明出处并保持作品的完整性. 本节主要介绍一下类与类之间的关系,也就是面向对象编程先介绍两个术语 Object Oriented Programming   OOP面向对象编 ...

  9. YTU 2598: 编程题B-小平智斗自动售货机

    2598: 编程题B-小平智斗自动售货机 时间限制: 1 Sec  内存限制: 128 MB 提交: 268  解决: 69 题目描述 LYH自动售货机在销售商品时,具有自动找钱功能.但是找零的最小单 ...

随机推荐

  1. Codeforces Round #388 (Div. 2) A+B+C!

    A. Bachgold Problem 任何一个数都可以由1和2组成,由于n是大于等于2的,也就是可以由2和3组成.要求最多的素数即素数越小越好,很明显2越多越好,如果n为奇数则再输出一个3即可. i ...

  2. codeforces #301 div2

    A:简单题 每次判断向上转快,还是向下转快即可 #include <cstdio> #include <cstring> #include <iostream> # ...

  3. CritterAI与Recast Navigation寻路

    版权声明:本文为博主吴欣伟原创文章,未经博主允许不得转载. 前言 这篇文章写于去年,由于工作需要,故写出这个研究文档,发现网上有关此寻路库的中文资源十分稀少,故发布出来与诸位共享交流,如文中有不对之处 ...

  4. Java有几种线程池?

    Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程newFixed ...

  5. Swift--错误集:couldn’t be opened because you don’t have permission to view it

    bug复现过程  把snapkit拉入代码中时,也把里面的info.plist文件拖到项目中,运行时,提示“couldn’t be opened because you don’t have perm ...

  6. hdu 4971

    记忆花搜索   dp #include <cstdio> #include <cstdlib> #include <cmath> #include <set& ...

  7. ArcGIS Engine 中的绘制与编辑

    1.线段绘制 基本步骤 构建形状 1. 创建 IPoint IPoint m_Point = new PointClass(); m_Point.PutCoords(x, y); 2. 创建 IPoi ...

  8. java中可以通过调用ping命令来判断网络是否连接正常

    原文:http://www.open-open.com/code/view/1446382328960 import java.io.BufferedReader; import java.io.IO ...

  9. 如何在Win7 x64上的配置32位的PostgreSQL ODBC数据源

    在Win7 x64下安装最新版的PostgreSQL 9.x 后,从其官网下载最新的 ODBC驱动,分为普通的32位和64位版本,正常安装后,从已安装软件列表里可以看到两个版本的驱动都已经正确显示出来 ...

  10. 海量数据处理面试题学习zz

    来吧骚年,看看海量数据处理方面的面试题吧. 原文:(Link, 其实引自这里 Link, 而这个又是 Link 的总结) 另外还有一个系列,挺好的:http://blog.csdn.net/v_jul ...