Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. char* Encode(char[]);
  6.  
  7. int GetStrLength(char[]);
  8. void Swap(char* arr, int index1, int index2);
  9. int main() {
  10. char input[] = { "TESTTEST" };
  11.  
  12. char* result = Encode(input);
  13.  
  14. for (int i = 0; i < GetStrLength(result); i++)
  15. {
  16. cout << result[i];
  17. }
  18. }
  19.  
  20. char* Encode(char arr[]) {
  21. int arrLength = GetStrLength(arr);
  22.  
  23. char* encodedArr = new char[(arrLength * 3) + 1];
  24.  
  25. int encodedArrCounter = 0;
  26.  
  27. for (int i = 0; i < arrLength; i++)
  28. {
  29. int currentAsciiCode = arr[i];
  30. while (currentAsciiCode != 0) {
  31.  
  32. encodedArr[encodedArrCounter] = (currentAsciiCode % 10) + '0';;
  33. encodedArrCounter++;
  34. currentAsciiCode /= 10;
  35. }
  36.  
  37. encodedArr[encodedArrCounter++] = '_';
  38. }
  39.  
  40. for (int i = 0; i < arrLength; i += 3)
  41. {
  42. Swap(encodedArr, i, i + 1);
  43. }
  44.  
  45. encodedArr[encodedArrCounter - 1] = '\0';
  46.  
  47. return encodedArr;
  48. }
  49.  
  50. void Swap(char* arr, int index1, int index2) {
  51. char temp = arr[index1];
  52. arr[index1] = arr[index2];
  53. arr[index2] = temp;
  54. }
  55.  
  56. int GetStrLength(char arr[]) {
  57. int counter = 0;
  58.  
  59. while (arr[counter] != '\0')
  60. counter++;
  61.  
  62. return counter;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement