Программа на языке c++даны две строки типа string: substr; str.символы в строках - маленькие латинские буквы.требуется определить количество вхождений строки substr в строку str.количество вхождений вывести в переменной cnt.примеры: qwe wqeeqeweqweewq//1eqe wqeeqeweqweewq//1w wqqewewqeewq//4d wqeeqe//0qweweqw qweweqwq//1

aizazaliyaF aizazaliyaF    2   05.10.2019 11:50    0

Ответы
маринька маринька  09.10.2020 21:34

#include <iostream>

#include <string>

using namespace std;

int main()

{

int cnt = 0;

string substr, str;

cin >> substr >> str;

for (size_t i = 0; i < str.length()-substr.length()+1; i++)

{

 for (size_t j = 0; j < substr.length(); j++)

 {

  if (str[i+j] != substr[j])

  {

   break;

  }

  else

  {

   if (j == substr.length() - 1) ++cnt;

  }

 }

}

cout << cnt;

return 0;

}

Все тесты которые ты написал, отработали.

ПОКАЗАТЬ ОТВЕТЫ
12575 12575  09.10.2020 21:34

#include <iostream>

#include <string>

using namespace std;

int main()

{

   string str,sub;

   int cnt=0;

   cout<<"substr: "; cin>>sub;  

   cout<<"str: "; cin>>str;

   int i=0,j=0;  

   while (i<str.length()) {

     while ((str[i]!=sub[j]) && (i<str.length())) i++;

     if (i<str.length()) {

         while ((str[i]==sub[j]) && (i<str.length()) && (j<sub.length())) {

              i++; j++;

         }

         if (j==sub.length()) cnt++;

         j=0;

     }

   }

   cout<<cnt<<endl;

   system("pause");      

   return 0;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика