Advertisement
ProgNeo

Untitled

Jun 20th, 2021 (edited)
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. bool search(string line, string subline)
  7. {
  8.     bool found = false;
  9.     int i = 0;
  10.     int j;
  11.     while (i < line.size()) // Начало перебора строки
  12.     {
  13.         if (line[i] == subline[0]) // Если i-й элемент совпал с началом подстроки
  14.         {
  15.             found = true;
  16.             j = 0;
  17.             while (j < subline.size()) // Цикл по подстроке
  18.             {
  19.                 if (line[i+j] != subline[j]) // Если j-я буква подстроки не совпала с i-й буквой строки
  20.                 {
  21.                     found = false;
  22.                     break; // Выход из while
  23.                 }
  24.                 else
  25.                 {
  26.                     j++;
  27.                 }
  28.             }
  29.             if (found == true)
  30.             {
  31.                 return found;
  32.             }
  33.         }
  34.         i++;
  35.     }
  36.     return found;
  37. }
  38.  
  39. int main()
  40. {
  41.     setlocale(LC_ALL, "rus");
  42.     string line, subline;
  43.     bool found;
  44.     cout << "Введите строку, в которой будет осуществляться поиск\n>>> ";
  45.     getline(cin, line);
  46.     cout << "Введите подстроку, которую нужно будет найти\n>>> ";
  47.     getline(cin, subline);
  48.  
  49.     found = search(line, subline);
  50.     cout << (found ? "Искомая подстрока находится в основной строке" : "Искомая подстрока не находится в основной строке");
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement