Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 12 / task3.cpp
diff options
context:
space:
mode:
1 files changed, 0 insertions, 89 deletions
-rw-r--r--Sem. 12/task3.cpp89
diff --git a/Sem. 12/task3.cpp b/Sem. 12/task3.cpp
deleted file mode 100644
index ba0ba1b..0000000
--- a/Sem. 12/task3.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-#include <iostream>
-using namespace std;
-
-int search(const char* string, const char* searched);
-
-void replace(const char* string, const char* x, const char* y, char* result)
-{
- int yLen = strlen(y);
- int xLen = strlen(x);
- while (true)
- {
- int indX = search(string, x); //14
- if (indX == -1)
- break;
-
-
- for (int i = 0; i < indX; i++)
- result[i] = string[i];
- result += indX;
- string += indX + xLen;
-
- for (int i = 0; i < yLen; i++)
- result[i] = y[i];
- result += yLen;
- }
-
- //the rest symbols
- while (*string != '\0')
- {
- *result = *string;
- result++;
- string++;
- }
- *result = '\0';
-
-}
-
-//return the first index of searched in str.
-int search(const char* str, const char* searched)
-{
- int len1 = strlen(str);
- int len2 = strlen(searched);
- for (int i = 0; i < len1 - len2+1; i++)
- {
- bool found = true;
- for (int j = 0; j < len2; j++)
- {
- if (searched[j] != str[i + j])
- {
- found = false;
- break;
- }
- }
- if (found)
- return i;
- }
- return -1;
-}
-int countOccurrences(const char* str, const char* searched)
-{
- int count = 0;
-
- int searchLen = strlen(searched);
- int ind = search(str, searched);
- while (ind != -1)
- {
- count++;
- str += (ind + searchLen);
- ind = search(str, searched);
- }
- return count;
-}
-int main()
-{
- const char* str = "hello friends! You are my best friends. I have no other friends";
- const char* x = "friend";
- const char* y = "enemy";
-
- int len = strlen(str);
- int xOccurrences = countOccurrences(str, x);
-
- char* result = new char[len - xOccurrences*strlen(x) + xOccurrences*strlen(y) + 1];
-
- replace(str, x, y, result);
-
- cout << result << endl;
-
- delete[] result;
-} \ No newline at end of file