Given integer values for red, green, and blue, subtract the gray from each value.

Computers represent color by combining the sub-colors red, green, and blue (rgb). Each sub-color's value can range from 0 to 255. Thus

(255, 0, 0) is bright red, (130, 0, 130) is a medium purple,(0,0,0) is black, (255, 255, 255) is white, and (40, 40, 40) is a dark gray. (130, 50,

130) is a faded purple, due to the (50, 50, 50) gray part. (In other words, equal amounts of red, green, blue yield gray).

Given values for red, green, and blue, remove the gray part.

Respuesta :

Answer:

Here is the C++ program:

#include <iostream>   //to use input output functions

using namespace std;   //to identify objects cin cout

int main() {   //start of main method

int red,green,blue,smallest;   //declare variables to store integer values of red,green, blue and to store the smallest value

cout<<"Enter value for red: ";  //prompts user to enter value for red

cin>>red;  //reads value for red from user

cout<<"Enter value for green: ";  //prompts user to enter value for green

cin>>green;  //reads value for green from user

cout<<"Enter value for blue: "; //prompts user to enter value for blue

cin>>blue;   //reads value for blue from user

//computes the smallest value

if(red<green && red<blue) //if red value is less than green and blue values

smallest=red;   //red is the smallest so assign value of red to smallest

else if(green<blue)   //if green value is less than blue value

smallest=green;   //green is the smallest so assign value of green to smallest

else  //this means blue is the smallest

smallest=blue;  //assign value of blue to smallest

//removes gray part by subtracting smallest from rgb

red=red-smallest;  //subtract smallest from red

green=green-smallest;  //subtract smallest from green

blue=blue-smallest;  //subtract smallest from blue

cout<<"red after removing gray part: "<<red<<endl;  //displays amount of red after removing gray

cout<<"green after removing gray part: "<<green<<endl;  //displays amount of green after removing gray

cout<<"blue after removing gray part: "<<blue<<endl;  } //displays amount of blue after removing gray

Explanation:

I will explain the program using an example.

Lets say user enter 130 as value for red, 50 for green and 130 for blue. Sp

red = 130

green = 50

blue = 130

First if condition if(red<green && red<blue)   checks if value of red is less than green and blue. Since red=130 so this condition evaluate to false and the program moves to the else if part else if(green<blue)  which checks if green is less than blue. This condition evaluates to true as green=50 and blue = 130 so green is less than blue. Hence the body of this else if executes which has the statement: smallest=green;  so the smallest it set to green value.

smallest = 50

Now the statement: red=red-smallest;  becomes:

red = 130 - 50

red = 80

the statement:  green=green-smallest;  becomes:

green = 50 - 50

green = 0

the statement: blue=blue-smallest; becomes:

blue = 130 - 50

blue = 80

So the output of the entire program is:

red after removing gray part: 80                                                                                                 green after removing gray part: 0                                                                                                blue after removing gray part: 80

The screenshot of the program along with its output is attached.

Ver imagen mahamnasir