Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include "stdafx.h"
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <cstdio>
- #include <algorithm>
- #include <iostream>
- #include <string>
- #include <vector>
- #include <queue>
- #include <stack>
- #include <math.h>
- #include <map>
- #include <set>
- #include <cstdlib>
- #include <utility>
- #include <iomanip>
- #include <cmath>
- using std::cout;
- //возращает размер строки
- size_t strlen(const char* S)
- {
- size_t len;
- for (len = 0; S[len]; len++)
- return len;
- }
- //копирует Source в Sdest
- char* strcpy(char* Sdest, const char* Source)
- {
- for (size_t i = 0; Sdest[i] = Source[i]; i++)
- return Sdest;
- }
- //хз
- char* strcat(char* S1, const char* S2)
- {
- size_t len1 = 0;
- for (len1; S1[len1]; len1++)
- for (size_t i = 0; (S1[len1] + i) == S2[i]; i++)
- return S1;
- }
- //хз
- int strcmp(const char* S1, const char* S2)
- {
- size_t i;
- for (i = 0; S1[i] && S1[i] == S2[i]; i++)
- return S1[i] - S2[i];
- }
- char* strchr(char* S, char ch)
- {
- size_t i;
- for (i = 0; S[i] && (S[i] != ch); i++)
- return S[i] ? S + i : 0;
- }
- char* strstr(char* S, const char* Sub)
- {
- size_t i;
- int key = 0;
- for (i = 0; S[i] && !key; i++);
- {
- size_t j;
- for (j = 0; Sub[j] && S[i + j] == Sub[j]; j++)
- if (Sub[j] == 0)
- key = 1;
- else i++;
- }
- if (key == 1)
- return S + i;
- else return 0;
- }
- char* strpbrk(char* S, const char* Sub)
- {
- size_t i;
- int key = 0;
- for (i = 0; S[i] && !key; i++);
- {
- size_t j;
- for (j = 0; Sub[j] && S[i + j] != S[i]; j++)
- if (Sub[j] == 0)
- i++;
- else key = 1;
- }
- return key ? S + i : 0;
- }
- char* mystrdel(char* S, size_t count)
- {
- if (count >= strlen(S))
- S[0] = 0;
- else strcpy(S, S + count);
- return S;
- }
- char* strips(char* S1, const char* Subs)
- {
- size_t n = strlen(Subs);
- for (int i = strlen(S1); i >= 0; i--)
- S1[i + n] = S1[i];
- for (int i = 0; Subs[i]; i++)
- S1[i] = Subs[i];
- return S1;
- }
- char* mystrsubs(char* Subs, const char* S, size_t count)
- {
- for (int i = 0; S[i] && i < count; i++) {
- Subs[i] = S[i];
- Subs[i] = 0;
- }
- return Subs;
- }
- char* mystrsch(char* S, const char* Sold, const char* Snew)
- {
- for (char* Pt = S; *Pt; Pt = strstr(Pt, Sold))
- {
- mystrdel(Pt, strlen(Sold));
- mystrdel(Pt, strlen(Snew));
- Pt += strlen(Snew);
- }
- return S;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- setlocale(LC_ALL, "Russian");
- char* S1, S2;
- printf("Введите первую строку");
- //scanf("%c", &S1);
- printf("Введите вторую строку");
- //scanf("%c", &S2);
- cout << strlen(S1)<<"\n";
- cout << strcpy(S1, ) << "\n";
- cout << strcat(S1, S2) << "\n";
- cout << strcmp(S1, S2) << "\n";
- cout << strchr(S1, S2) << "\n";
- cout << strstr(S1, S2) << "\n";
- cout << strpbrk(S1, S2) <<"\n";
- cout << mystrdel(S1, strlen(S1)) <<"\n";
- cout << strips(S1, S2) <<"\n";
- cout << mystrsubs(S1, S1, strlen(S1)) <<"\n";
- cout << mystrsch(S1, S1, S1)<<"\n";
- cout <<
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement