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;
}
#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: 编程:五元向量的运算的更多相关文章
- YTU 2611: A代码完善--向量的运算
2611: A代码完善--向量的运算 时间限制: 1 Sec 内存限制: 128 MB 提交: 256 解决: 168 题目描述 注:本题只需要提交填写部分的代码,请按照C++方式提交. 对于二维 ...
- R语言编程艺术# 数据类型向量(vector)
R语言最基本的数据类型-向量(vector) 1.插入向量元素,同一向量中的所有的元素必须是相同的模式(数据类型),如整型.数值型(浮点数).字符型(字符串).逻辑型.复数型等.查看变量的类型可以用t ...
- Linux网络编程(五)
/*Linux网络编程(五)——多路IO复用之select() 网络编程中,使用IO复用的典型场合: 1.当客户处理多个描述字时(交互式输入以及网络接口),必须使用IO复用. 2.一个客户同时处理多个 ...
- C++模板元编程 - 1 基本数据类型和运算
这是博客开通前几天做的,C++的模板没办法存方便的浮点数,算了. 基本类型的设计参考了vczh轮子叔模仿boost的MPL的设计. 话说template和typename写多了真是无限烦人啊,不得已定 ...
- 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 ...
- socket编程五种模型
客户端:创建套接字,连接服务器,然后不停的发送和接收数据. 比较容易想到的一种服务器模型就是采用一个主线程,负责监听客户端的连接请求,当接收到某个客户端的连接请求后,创建一个专门用于和该客户端通信的套 ...
- python高级编程之元类(第3部分结束)
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #元编程 #new-style类带来了一种能力,通过2个特殊方法(_ ...
- C++面向对象高级编程(五)类与类之间的关系
技术在于交流.沟通,转载请注明出处并保持作品的完整性. 本节主要介绍一下类与类之间的关系,也就是面向对象编程先介绍两个术语 Object Oriented Programming OOP面向对象编 ...
- YTU 2598: 编程题B-小平智斗自动售货机
2598: 编程题B-小平智斗自动售货机 时间限制: 1 Sec 内存限制: 128 MB 提交: 268 解决: 69 题目描述 LYH自动售货机在销售商品时,具有自动找钱功能.但是找零的最小单 ...
随机推荐
- 03002_Http请求协议分析
1.编写一个form.html的表单页面 (1)使用EclipseEE新建一个动态的web项目: (2)Dynamic web module version选择2,5版本: (3)新建一个form.h ...
- idea 神键
http://blog.csdn.net/dc_726/article/details/42784275 idea 中几个十分酸爽的快捷键.
- Leetcode 297.二叉树的序列化和反序列化
二叉树地序列化和反序列化 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据. ...
- VMware搭建Oracle 11g RAC测试环境 For Linux
环境如下: Linux操作系统:Centos 6.5 64bit (这个版本的redhat 6内核等OS在安装grid最后执行root.sh时会出现crs-4124,是oracle11.2.0.1的b ...
- 《Shell脚本学习指南》书籍目录
摘要:Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的.但是它比Windows下的批处理更 ...
- 公路修建(Prim)
洛谷传送门 这道水题告诉了我,堆优化的prim有时还不如朴素prim快... 居然记错时间复杂度了,我也真是菜. #include <cstdio> #include <queue& ...
- mappedBy的具体使用及其含义
mappedBy: 1>只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性: 2>mappedBy标签一定是定义在被拥 ...
- SpringBoot自动配置的源码解析
首先,写源码分析真的很花时间,所以希望大家转的时候也请注明一下,Thanks♪(・ω・)ノ SpringBoot最大的好处就是对于很多框架都默认的配置,让我们开发的时候不必为了大一堆的配置文件头疼,关 ...
- hdu3853:LOOPS
题目大意:r*c个点,每个点有Aij的概率回到自己本身,Bij的概率向右一格,Cij的概率向下一格,求从(1,1)到(r,c)的期望步数. 题解:有了hdu4405的经验,从后往前推期望.那么,E(i ...
- java打开本地应用程序(调用cmd)---Runtime用法详解
有时候我们需要借助java程序打开电脑自带的一些程序,可以直接打开或者借助cmd命令窗口打开一些常用的应用程序或者脚本,在cmd窗口执行的命令都可以通过这种方式运行. 例如: package cn.x ...