Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- int indexOf(char word[100], char str[1001])
- {
- int n = strlen(str);
- int s = strlen(word);
- if(s > n)
- {
- return -1;
- }
- for (int i = 0; i < n; i++)
- {
- if(str[i] == word[0] && s <= n - i)
- {
- bool areEqual = true;
- for (int j = 1; j < s; j++)
- {
- if(str[i + j] != word[j])
- {
- areEqual = false;
- break;
- }
- }
- if(areEqual)
- {
- return i;
- }
- }
- }
- return -1;
- }
- void strReplace(char str[1001], char result[1001], int index, char replaceWord[100], int oldWordLength)
- {
- int n = strlen(replaceWord);
- for (int i = 0; i < index; i++)
- {
- result[i] = str[i];
- }
- int j = 0;
- for (int i = index; i < index + n; i++)
- {
- result[i] = replaceWord[j++];
- }
- int resultLength = strlen(str);
- if(oldWordLength < n)
- {
- resultLength += n - oldWordLength;
- }
- else if(oldWordLength > n)
- {
- resultLength -= oldWordLength - n;
- }
- int k = index + oldWordLength;
- for (int i = index + j; i < resultLength; i++)
- {
- result[i] = str[k++];
- }
- }
- using namespace std;
- int main()
- {
- char str[1001], result[1001];
- cin >> str;
- char word[100], replaceWord[100];
- cin >> word >> replaceWord;
- int index = indexOf(word, str);
- if(index != -1)
- {
- strReplace(str, result, index, replaceWord, strlen(word));
- cout << result << endl;
- }
- else
- {
- cout << str << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement