Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- char* Encode(char[]);
- int GetStrLength(char[]);
- void Swap(char* arr, int index1, int index2);
- int main() {
- char input[] = { "TESTTEST" };
- char* result = Encode(input);
- for (int i = 0; i < GetStrLength(result); i++)
- {
- cout << result[i];
- }
- }
- char* Encode(char arr[]) {
- int arrLength = GetStrLength(arr);
- char* encodedArr = new char[(arrLength * 3) + 1];
- int encodedArrCounter = 0;
- for (int i = 0; i < arrLength; i++)
- {
- int currentAsciiCode = arr[i];
- while (currentAsciiCode != 0) {
- encodedArr[encodedArrCounter] = (currentAsciiCode % 10) + '0';;
- encodedArrCounter++;
- currentAsciiCode /= 10;
- }
- encodedArr[encodedArrCounter++] = '_';
- }
- for (int i = 0; i < arrLength; i += 3)
- {
- Swap(encodedArr, i, i + 1);
- }
- encodedArr[encodedArrCounter - 1] = '\0';
- return encodedArr;
- }
- void Swap(char* arr, int index1, int index2) {
- char temp = arr[index1];
- arr[index1] = arr[index2];
- arr[index2] = temp;
- }
- int GetStrLength(char arr[]) {
- int counter = 0;
- while (arr[counter] != '\0')
- counter++;
- return counter;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement