A代码填充--学画画

2020年1月17日 945点热度 0人点赞 0条评论

A代码填充--学画画

时间: 1ms        内存:128M

描述:

最近小平迷上了画画,经过琨姐的指导,他学会了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

提示:

参考答案:

解锁文章

没有看到答案?微信扫描二维码可免费解锁文章

微信扫描二维码解锁

使用微信扫描二维码打开广告页面后可以立即关闭,再刷新此页面即可正常浏览此文章

所跳转广告均由第三方提供,并不代表本站观点!

已经扫描此二维码?点此立即跳转

code

这个人很懒,什么都没留下

文章评论