Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //2017 1 užduotis. Šešioliktainiai skaičiai VS
- #include <fstream>
- #include <string>
- using namespace std;
- void reading(int &a, int &b, int red[], int green[], int blue[]);
- string rgb_to_hex(int red[], int green[], int blue[], int numb);
- void writing(int a, int b, int red[], int green[], int blue[]);
- string rgb_hex(int value);
- char simbol(int f);
- int main() {
- int a, b;
- int red[10000], green[10000], blue[10000];
- reading(a, b, red, green, blue);
- writing(a, b, red, green, blue);
- getchar();
- return 0;
- }
- void reading(int &a, int &b, int red[], int green[], int blue[]) {
- ifstream input;
- input.open("U1.txt");
- input >> a >> b;
- for (int x = 0; x < a*b; x++) {
- input >> red[x];
- input >> green[x];
- input >> blue[x];
- }
- input.close();
- }
- void writing(int a, int b, int red[], int green[], int blue[]) {
- ofstream output;
- output.open("U1rez.txt");
- for (int x = 0; x < a*b; x++) {
- output << rgb_to_hex(red, green, blue, x) << ";";
- if ((x+1) % 3 == 0) output << endl;
- }
- output.close();
- }
- string rgb_to_hex(int red[], int green[], int blue[], int numb) {
- string final = "";
- final += rgb_hex(red[numb])[0]; //hard way because of vs
- final += rgb_hex(red[numb])[1];
- final += rgb_hex(green[numb])[0];
- final += rgb_hex(green[numb])[1];
- final += rgb_hex(blue[numb])[0];
- final += rgb_hex(blue[numb])[1];
- return final;
- //return rgb_hex(red[numb]) + rgb_hex(green[numb]) + rgb_hex(blue[numb]);
- }
- string rgb_hex(int value) {
- int f, s;
- char pair_c[2];
- f = value / 16;
- s = value % 16;
- pair_c[0] = simbol(f);
- pair_c[1] = simbol(s);
- return pair_c;
- }
- char simbol(int f) {
- if (f == 0) return '0';
- else if (f == 1) return '1';
- else if (f == 2) return '2';
- else if (f == 3) return '3';
- else if (f == 4) return '4';
- else if (f == 5) return '5';
- else if (f == 6) return '6';
- else if (f == 7) return '7';
- else if (f == 8) return '8';
- else if (f == 9) return '9';
- else if (f == 10) return 'a';
- else if (f == 11) return 'b';
- else if (f == 12) return 'c';
- else if (f == 13) return 'd';
- else if (f == 14) return 'e';
- else if (f == 15) return 'f';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement