ST30

 avatar
unknown
c_cpp
2 years ago
1.1 kB
5
Indexable
#include <stdio.h>

int main() {

    char str[130] = {'\0'}, target[130] = { '\0' }, replace[130] = { '\0' };
    gets(str); rewind(stdin); scanf("%s", target); scanf("%s", replace);
    int start = 0;
    for (int i = 0; i < strlen(str); ) {
        int cnt = 0, check = 0;
        for (int j = i; cnt < strlen(target); j++, cnt++) {
            if (str[j] != target[cnt]) break;
            if (cnt == strlen(target) - 1) check = 1;
        }
        if (check) {
            for (int j = start; j < i; j++)
                printf("%c", str[j]);
            for (int j = 0; j < strlen(replace); j++)
                printf("%c", replace[j]);
            start = i + cnt;

            /*for (int j = 0; j < i; j++)
                printf("%c", str[j]);
            for (int j = 0; j < strlen(replace); j++)
                printf("%c", replace[j]);
            for (int j = i + cnt; j < strlen(str); j++)
                printf("%c", str[j]);
            break;*/
        }
        i += (cnt ? cnt : 1);
    }
    for (int j = start; j < strlen(str); j++)
        printf("%c", str[j]);
}
Editor is loading...