#include <stdio.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
if (tab == NULL) {
return -1;
}
strcpy(tab
, "123456789.123456789.123456789."); printf("Original string: %s\n", tab
); size_t actualSize
= strlen(tab
);
int dotNumb = 0;
for (int i = 0; i < actualSize; i++) {
if (tab[i]=='.') {
dotNumb++;
}
}
const size_t newSize = dotNumb + actualSize + 1;
if (tab == NULL) {
return -1;
}
tab[newSize] = '\0'; /* termination character */
int j = newSize ;
for (size_t cursor = actualSize; cursor > 0; cursor--) {
if (tab[cursor] != '.') {
tab[j--] = tab[cursor];
}
else {
tab[j--] = ':';
tab[j--] = ':';
}
}
printf("Modified string: %s\n", tab
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBtYWluKHZvaWQpIHsKCWNoYXIgKnRhYiA9IG1hbGxvYygzMCArIDEpOwoJaWYgKHRhYiA9PSBOVUxMKSB7CgkJcmV0dXJuIC0xOwoJfQoJc3RyY3B5KHRhYiwgIjEyMzQ1Njc4OS4xMjM0NTY3ODkuMTIzNDU2Nzg5LiIpOwoJcHJpbnRmKCJPcmlnaW5hbCBzdHJpbmc6ICVzXG4iLCB0YWIpOwogICAgc2l6ZV90IGFjdHVhbFNpemUgPSBzdHJsZW4odGFiKTsKCglpbnQgZG90TnVtYiA9IDA7Cglmb3IgKGludCBpID0gMDsgaSA8IGFjdHVhbFNpemU7IGkrKykgewogIAkJaWYgKHRhYltpXT09Jy4nKSB7CiAgICAJCWRvdE51bWIrKzsKICAJCX0KCX0KCWNvbnN0IHNpemVfdCBuZXdTaXplID0gZG90TnVtYiArIGFjdHVhbFNpemUgKyAxOwoJdGFiID0gcmVhbGxvYyAodGFiLCBuZXdTaXplKTsKCWlmICh0YWIgPT0gTlVMTCkgewogIAkJZnJlZSh0YWIpOwogIAkJcmV0dXJuIC0xOwoJfQoJdGFiW25ld1NpemVdID0gJ1wwJzsgLyogdGVybWluYXRpb24gY2hhcmFjdGVyICovCglpbnQgaiA9IG5ld1NpemUgOwoJZm9yIChzaXplX3QgY3Vyc29yID0gYWN0dWFsU2l6ZTsgY3Vyc29yID4gMDsgY3Vyc29yLS0pIHsKICAJCWlmICh0YWJbY3Vyc29yXSAhPSAnLicpIHsKCSAJCXRhYltqLS1dID0gdGFiW2N1cnNvcl07CiAgCQl9CiAgCQllbHNlIHsgCgkgCQl0YWJbai0tXSA9ICc6JzsKICAgIAkJdGFiW2otLV0gPSAnOic7CiAgCQl9Cgl9CglwcmludGYoIk1vZGlmaWVkIHN0cmluZzogJXNcbiIsIHRhYik7CglyZXR1cm4gMDsKfQo=