In order to input values choose between 0 up till 255 (integers)
Output
Number of colors to be analized: 2
Write the amounts of RGB: 1:
Red: 10
Green: 20
Blue: 100
Write the amounts of RGB: 2:
Red: 30
Green: 20
Blue: 19
The colors average: (20, 20, 59)
...Program finished with exit code 0
Press ENTER to exit console.
Code
#include <iostream>
using namespace std;
//declaration of variables
typedef struct Color {
int b,r,g; //integers values which define a digital color
} Color;
//function of average
int average(Color *colors, int size, char type) {
int s = 0;
for(int i=0; i<size; i++) {
if(type=='b') {
s += colors[i].b;
}
if(type=='g') {
s += colors[i].g;
}
if(type=='r') {
s += colors[i].r;
}
}
return s/size;
}
int main() {
int n;
cout << "Number of colors to be analized: ";
cin >> n;
Color *colors = new Color[n];
for(int i=0; i<n; i++) {
cout << "Write the amounts of RGB: " << (i+1) << ":\\";
cout << "Red: ";
cin >> colors[i].r;
cout << "Green: ";
cin >> colors[i].g;
cout << "Blue: ";
cin >> colors[i].b;
cout << endl;
}
cout << "The colors average: ";
cout << "(" << average(colors, n, 'r') << ", " << average(colors, n, 'g');
cout << ", " << average(colors, n, 'b') << ")\\";
}