fork download
  1. #include <string>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void printString(string source)
  7. {
  8. for (int i = 0; i < source.length(); i++)
  9. cout << source[i];
  10. cout << endl;
  11. }
  12.  
  13. void printHex(string source)
  14. {
  15. for (int i = 0; i < source.length(); i++)
  16. cout << hex << uppercase << (int)(unsigned char) (source.c_str()[i]) << ' ';
  17. cout << endl;
  18. }
  19.  
  20.  
  21. void gamma_ca(string s1, string s2, string &res)
  22. {
  23. for (int i = 0; i < s1.length(); i++) {
  24. res += (s1.c_str()[i]) ^ (s2.c_str()[i]);
  25. }
  26. }
  27.  
  28. void gamma_resize(string s1, string s2, string &res)
  29. {
  30. res.resize(s1.length());
  31. for (int i = 0; i < s1.length(); i++) {
  32. res[i] = (s1.c_str()[i]) ^ (s2.c_str()[i]);
  33. }
  34. }
  35.  
  36. int main(){
  37. string a = "xyz123";
  38. string b = "abd:|}";
  39. string compound;
  40. string resized;
  41.  
  42. gamma_ca(a,b,compound);
  43. gamma_ca(a,b,resized);
  44. printHex(compound);
  45. printHex(resized);
  46.  
  47. return 0;
  48. }
  49.  
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
19 1B 1E B 4E 4E 
19 1B 1E B 4E 4E