YTU 2629: E1 一种颜色,三个分量

网友投稿 263 2022-11-29

YTU 2629: E1 一种颜色,三个分量

2629: E1 一种颜色,三个分量

时间限制: 1 Sec   内存限制: 128 MB

提交: 300

解决: 226

题目描述

在计算机中,常用三种基色红(R)、绿(G)、蓝(B)的混合来表示颜色,这三种基色也称为颜色的三个分量。在实现中每种分量的取值范围为0-255,用一个字节表示。这样,一种颜色需要用三个字节存储。

一种颜色,也可以用一个整型数(称为颜色值)来表示,颜色值与三基色有对应关系,即:颜色值 = R × 0x10000 + G × 0x100 + B。

现定义了一个颜色类Color,指定三种基色的值,可以将其转换为一个整型值输出。在指定三基色时,若省略其值,默认为该分量值为0。

下面是定义好的类及测试函数。很遗憾,begin到end部分存在两处语法错误,请你找出并修改过来,提交begin到end部分的代码。

//************* begin ***************** #include using namespace std; class Color { public: Color(int r=0,int g=0,int b=0); //构造函数 int getValue( ); //求得颜色值 private: unsigned char red; //用无符号char,表示数的范围是0-255,三基色占用3字节 unsigned char green; unsigned char blue; }; Color::Color(int r=0,int g=0,int b=0): red(r),green(g),blue(b) { } //(1) int getValue( ) //(2) { return(red*0x10000+green*0x100+blue); } //************* end ***************** int main( ) { int r, g, b; cin>>r; Color c1(r); cout<>r>>g; Color c2(r,g); cout<>r>>g>>b; Color c3(r); cout<

输入

共输入3行,分别代表初始化3个颜色对象的分量值

第1行,只输入c1对象的R分量值,G、B分量用默认值

第2行,只输入c2对象的R、G分量值,B分量用默认值

第3行,只输入c3对象的R、G、B三个分量的值

输出

共3行,分别代表3种颜色的颜色值

样例输入

84128 5832 225 48

样例输出

550502484034562097152

迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

#include using namespace std;class Color{public: Color(int r=0,int g=0,int b=0); //构造函数 int getValue( ); //求得颜色值 unsigned char red; //用无符号char,表示数的范围是0-255,三基色占用3字节 unsigned char green; unsigned char blue;};Color::Color(int r,int g,int b): red(r),green(g),blue(b) { } //(1)int Color::getValue( ){ return(red*0x10000+green*0x100+blue);}int main( ){ int r, g, b; cin>>r; Color c1(r); cout<>r>>g; Color c2(r,g); cout<>r>>g>>b; Color c3(r); cout<

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:YTU 2911: 我想放假
下一篇:Java开发过程中关于异常处理的详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~