Advertisement
zulonas

Šešioliktainiai skaičiai 2017.1

Oct 23rd, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.15 KB | None | 0 0
  1. //2017 1 užduotis. Šešioliktainiai skaičiai VS
  2. #include <fstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. void reading(int &a, int &b, int red[], int green[], int blue[]);
  8. string rgb_to_hex(int red[], int green[], int blue[], int numb);
  9. void writing(int a, int b, int red[], int green[], int blue[]);
  10. string rgb_hex(int value);
  11. char simbol(int f);
  12.  
  13. int main() {
  14.     int a, b;
  15.     int red[10000], green[10000], blue[10000];
  16.  
  17.  
  18.     reading(a, b, red, green, blue);
  19.     writing(a, b, red, green, blue);
  20.  
  21.     getchar();
  22.     return 0;
  23. }
  24.  
  25.  
  26. void reading(int &a, int &b, int red[], int green[], int blue[]) {
  27.     ifstream input;
  28.  
  29.     input.open("U1.txt");
  30.  
  31.     input >> a >> b;
  32.     for (int x = 0; x < a*b; x++) {
  33.         input >> red[x];
  34.         input >> green[x];
  35.         input >> blue[x];
  36.     }
  37.  
  38.     input.close();
  39. }
  40.  
  41. void writing(int a, int b, int red[], int green[], int blue[]) {
  42.     ofstream output;
  43.  
  44.     output.open("U1rez.txt");
  45.  
  46.     for (int x = 0; x < a*b; x++) {
  47.         output << rgb_to_hex(red, green, blue, x) << ";";
  48.         if ((x+1) % 3 == 0) output << endl;
  49.     }
  50.  
  51.     output.close();
  52. }
  53.  
  54. string rgb_to_hex(int red[], int green[], int blue[], int numb) {
  55.     string final = "";
  56.    
  57.     final += rgb_hex(red[numb])[0]; //hard way because of vs
  58.     final += rgb_hex(red[numb])[1];
  59.     final += rgb_hex(green[numb])[0];
  60.     final += rgb_hex(green[numb])[1];
  61.     final += rgb_hex(blue[numb])[0];
  62.     final += rgb_hex(blue[numb])[1];
  63.    
  64.     return final;
  65.     //return rgb_hex(red[numb]) + rgb_hex(green[numb]) + rgb_hex(blue[numb]);
  66. }
  67.  
  68. string rgb_hex(int value) {
  69.     int f, s;
  70.     char pair_c[2];
  71.  
  72.     f = value / 16;
  73.     s = value % 16;
  74.  
  75.     pair_c[0] = simbol(f);
  76.     pair_c[1] = simbol(s);
  77.  
  78.     return pair_c;
  79. }
  80.  
  81.  
  82. char simbol(int f) {
  83.     if (f == 0) return '0';
  84.     else if (f == 1) return '1';
  85.     else if (f == 2) return '2';
  86.     else if (f == 3) return '3';
  87.     else if (f == 4) return '4';
  88.     else if (f == 5) return '5';
  89.     else if (f == 6) return '6';
  90.     else if (f == 7) return '7';
  91.     else if (f == 8) return '8';
  92.     else if (f == 9) return '9';
  93.     else if (f == 10) return 'a';
  94.     else if (f == 11) return 'b';
  95.     else if (f == 12) return 'c';
  96.     else if (f == 13) return 'd';
  97.     else if (f == 14) return 'e';
  98.     else if (f == 15) return 'f';
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement