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. So
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.