69 lines
899 B
C++
69 lines
899 B
C++
#include <fstream>
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
|
|
ifstream input_stream;
|
|
ofstream output_stream;
|
|
|
|
|
|
char numToChar(int num) {
|
|
char letter;
|
|
switch (num) {
|
|
case 15:
|
|
letter = 'F';
|
|
break;
|
|
case 14:
|
|
letter = 'E';
|
|
break;
|
|
case 13:
|
|
letter = 'D';
|
|
break;
|
|
case 12:
|
|
letter = 'C';
|
|
break;
|
|
case 11:
|
|
letter = 'B';
|
|
break;
|
|
case 10:
|
|
letter = 'A';
|
|
break;
|
|
default:
|
|
letter = '0' + num;
|
|
}
|
|
return letter;
|
|
}
|
|
|
|
string intToHex(int num) {
|
|
string res = "";
|
|
|
|
res += numToChar(num / 16);
|
|
res += numToChar(num % 16);
|
|
|
|
return res;
|
|
}
|
|
|
|
int main() {
|
|
input_stream.open("tests/input.7");
|
|
|
|
int rgb[3];
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
int tmp;
|
|
input_stream >> tmp;
|
|
|
|
if (tmp > 255) {
|
|
tmp = 255;
|
|
} else if (tmp < 0) {
|
|
tmp = 0;
|
|
}
|
|
|
|
rgb[i] = tmp;
|
|
}
|
|
|
|
cout << intToHex(rgb[0]);
|
|
cout << intToHex(rgb[1]);
|
|
cout << intToHex(rgb[2]) << endl;
|
|
|
|
return 0;
|
|
} |