YTU 2953: A代码填充--学画画
2953: A代码填充--学画画
时间限制: 1 Sec 内存限制: 128 MB
提交: 62 解决: 52
题目描述
最近小平迷上了画画,经过琨姐的指导,他学会了RGB色彩的混合方法。对于两种颜料1和颜料2,其对应的RGB色彩表示分别为(R1,G1,B1)和(R2,G2,B2)。
将m份颜料1和n份颜料2进行混合,混合后色彩的RGB表示为 ((m*R1+n*R2)/(m+n),(m*G1+n*G2)/(m+n),(m*B1+n*B2)/(m+n))。
注:本题只需要提交填写部分的代码,请按照C++方式提交。
#include <iostream>
using namespace std;
class RGB
{
public:
RGB(int r=0,int g=0,int b=0);
friend RGB operator+(RGB &,RGB &);
friend RGB operator*(int ,RGB &);
friend RGB operator/(RGB &,int);
friend ostream& operator<<(ostream&,RGB&);
friend istream& operator>>(istream&,RGB&);
RGB RGBmix(RGB &rgb1,RGB &rgb2,int m,int n);
private:
int red,green,blue;
};
RGB::RGB(int r,int g,int b)
{
red=r;
green=g;
blue =b;
}
istream& operator>>(istream &in,RGB &rgb)
{
in>>rgb.red>>rgb.green>>rgb.blue;
return in;
}
ostream& operator<<(ostream &out,RGB &rgb)
{
out<<rgb.red<<","<<rgb.green<<","<<rgb.blue<<endl;
return out;
}
RGB operator*(int n,RGB &rgb)
{
return RGB(n*rgb.red,n*rgb.green,n*rgb.blue);
}
/*
请在该部分补充缺少的代码
*/
RGB RGB::RGBmix(RGB &rgb1,RGB &rgb2,int m,int n)
{
RGB t,t1,t2;
t=(t1=m*rgb1)+(t2=n*rgb2);
return t/(m+n);
}
int main()
{
RGB rgb1,rgb2,rgb;
int m,n;
cin>>rgb1>>rgb2;
cin>>m>>n;
rgb =rgb.RGBmix(rgb1,rgb2,m,n);
cout<<rgb<<endl;
return 0;
}
输入
颜料1和颜料2的 R,G,B 成分(均为整数)
颜料1和颜料2的份数(均为整数)
输出
混合颜料的 R,G,B 成分(均为整数,不进行四舍五入)
样例输入
0 0 0 255 255 255
1 1
样例输出
127,127,127
你 离 开 了 , 我 的 世 界 里 只 剩 下 雨 。 。 。
#include <iostream>
using namespace std;
class RGB
{
public:
RGB(int r=0,int g=0,int b=0);
friend RGB operator+(RGB &,RGB &);
friend RGB operator*(int ,RGB &);
friend RGB operator/(RGB &,int);
friend ostream& operator<<(ostream&,RGB&);
friend istream& operator>>(istream&,RGB&);
RGB RGBmix(RGB &rgb1,RGB &rgb2,int m,int n);
private:
int red,green,blue;
};
RGB::RGB(int r,int g,int b)
{
red=r;
green=g;
blue =b;
}
istream& operator>>(istream &in,RGB &rgb)
{
in>>rgb.red>>rgb.green>>rgb.blue;
return in;
}
ostream& operator<<(ostream &out,RGB &rgb)
{
out<<rgb.red<<","<<rgb.green<<","<<rgb.blue<<endl;
return out;
}
RGB operator*(int n,RGB &rgb)
{
return RGB(n*rgb.red,n*rgb.green,n*rgb.blue);
}
RGB operator+(RGB &a,RGB &b)
{
RGB c;
c.blue=a.blue+b.blue;
c.green=a.green+b.green;
c.red=a.red+b.red;
return c;
}
RGB operator/(RGB &a,int b)
{
RGB c;
c.blue=a.blue/b;
c.green=a.green/b;
c.red=a.red/b;
return c;
}
RGB RGB::RGBmix(RGB &rgb1,RGB &rgb2,int m,int n)
{
RGB t,t1,t2;
t=(t1=m*rgb1)+(t2=n*rgb2);
return t/(m+n);
}
int main()
{
RGB rgb1,rgb2,rgb;
int m,n;
cin>>rgb1>>rgb2;
cin>>m>>n;
rgb =rgb.RGBmix(rgb1,rgb2,m,n);
cout<<rgb<<endl;
return 0;
}
YTU 2953: A代码填充--学画画的更多相关文章
- YTU 2952: A代码填充--谁挡住了我
2952: A代码填充--谁挡住了我 时间限制: 1 Sec 内存限制: 128 MB 提交: 135 解决: 38 题目描述 n个人前后站成一列,对于队列中的任意一个人,如果排在他前面的人的身高 ...
- YTU 2958: 代码填充--雨昕学画画
2958: 代码填充--雨昕学画画 时间限制: 1 Sec 内存限制: 128 MB 提交: 156 解决: 102 题目描述 雨昕开始学画水彩画,老师给雨昕一个形状(Shape)类,雨昕在Sha ...
- YTU 2959: 代码填充--雨昕学矩阵
2959: 代码填充--雨昕学矩阵 时间限制: 1 Sec 内存限制: 128 MB 提交: 112 解决: 50 题目描述 雨昕开始学矩阵了.矩阵数乘规则:一个数k乘一个矩阵A还是一个矩阵,行数 ...
- 一本通 一笔画问题 洛谷P1636 Einstein学画画
P1636 Einstein学画画 相信大家都玩过一笔画这种游戏吧,这其实算得上是我们能够接触到的比较常见的数学问题,有一个很知名的就是七桥问题 这个问题包括所有的一笔画问题都是在欧拉回路的涵盖范围内 ...
- P1636 Einstein学画画
一笔画问题 P1636 Einstein学画画 如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路. 奇点:跟这个点相邻的边数目有奇数个的点 不存在奇数个奇点的 ...
- luoguP1636 Einstein学画画 x
P1636 Einstein学画画 题目描述 Einstein学起了画画, 此人比较懒--,他希望用最少的笔画画出一张画... 给定一个无向图,包含n 个顶点(编号1~n),m 条边,求最少用多少笔可 ...
- 从一行代码里面学点JavaScript
从一行代码里面学点JavaScript 现如今,JavaScript无处不在,因此关于JavaScript的新知识也是层出不穷.JavaScript的特点在于,要学习它的语法入门简简单,但是要精通使用 ...
- 洛谷 P1636 Einstein学画画
P1636 Einstein学画画 题目描述 Einstein学起了画画, 此人比较懒--,他希望用最少的笔画画出一张画... 给定一个无向图,包含n 个顶点(编号1~n),m 条边,求最少用多少笔可 ...
- 如何用代码填充S/4HANA销售订单行项目的数量字段
我的任务是用代码生成S/4HANA销售订单(Sales Order)的行项目,并且填充对应的quantity(数量)值. 最开始我用了下面的代码,把quantity的值写入item字段target_q ...
随机推荐
- springboot注释详解
1.属性注入 @ConfigurationProperties(prefix="...") spring会从classpath下的/config目录或者classpath的根目录查 ...
- Notification通知创建
Notification通知创建 由于通知是一个远程视图,所以创建通知在状态栏显示需要用到三个主要的对象: 一.PendingIntent对象,用来承载Intent对象的,Intent对象主要是定义通 ...
- msp430入门编程50
msp430中项目编程套路 msp430入门编程 msp430入门学习
- MYSQL Explain语法
Explain语法 EXPLAIN SELECT …… 变体: 1. EXPLAIN EXTENDED SELECT …… 将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得 ...
- linux 常见名词及命令(一)
linux PK wondows 稳定且有效率.免费或少许费用.漏洞少且修补快.多任务多用户. 安全的用户及文件权限策略.适合小内核程序的嵌入系统.相对不耗资源. 热门的开源系统 红帽企业系统(R ...
- HDU 5521 Meeting【最短路】
今天旁观了Angry_Newbie的模拟区域赛(2015shenyang) 倒着看最先看的M题,很明显的最短路问题,在我看懂的时候他们已经开始敲B了. 后来听说D过了很多人.. D题一看是个博弈,给了 ...
- java基础 2 static关键字
2. static关键字 变量:静态变量在内存中只存在一份,只在类第一次实例化时初始化一次,同时类所有的实例都共享静态变量,可以直接同过类名 来访问他. 方法:静 ...
- PCRE函数简介和使用示例
PCRE是一个NFA正则引擎,不然不能提供完全与Perl一致的正则语法功能.但它同时也实现了DFA,只是满足数学意义上的正则. PCRE提供了19个接口函数,为了简单介绍,使用PCRE内带的测试程序( ...
- openstack swift middleware开发
首先MiddleWare核心代码,这段代码卸载swift的源代码目录下,~/swift/swift/common/middleware下新建deletionpreventing.py: import ...
- Java反射常用示例
package xmq.study.reflection; import java.lang.annotation.Annotation; import java.lang.reflect.Const ...