diff --git a/task4.cpp b/task4.cpp new file mode 100644 index 0000000..e8d41d6 --- /dev/null +++ b/task4.cpp @@ -0,0 +1,53 @@ +#pragma warning(disable : 4996) +#define SIZE 80 +#include +using namespace std; + +int mystrlen(const char* str) { + int len = 0; + for (; str[len] != '\0'; ++len) {} + return len; +} + +char* mystrcat(char* str1, const char* str2) { + int i = mystrlen(str1); + int j = mystrlen(str2); + for (int k = 0; k < j; ++k) { + str1[i + k] = str2[k]; + } + str1[i + j] = '\0'; + return str1; +} + +char* mystrchr(char* str, char s) { + for (int i = 0; str[i] != '\0'; ++i) { + if (str[i] == s) { + return &str[i]; + } + } + return 0; +} + +int main() { + char str1[SIZE]; + char str2[SIZE]; + cout << "Input first string: "; + cin.getline(str1, SIZE); + cout << "Input second string: "; + cin.getline(str2, SIZE); + + cout << "mystrlen(str1): " << mystrlen(str1) << endl; + cout << "mystrcat(str1, str2): " << mystrcat(str1, str2) << endl; + + char ch; + cout << "Input char to search in str1: "; + cin >> ch; + char* f = mystrchr(str1, ch); + if (f) { + cout << "mystrchr(str1, '" << ch << "'): " << f << endl; + } + else { + cout << "mystrchr(str1, '" << ch << "'): 0" << endl; + } + system("pause"); +} \ No newline at end of file