#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;
}
1. У задачах, які передбачають виконання альтернативних дій, використовують оператор повного розгалуження. Для запису оператора повного розгалуження додатково використовують службове слово
else:
if <логічний вираз>:
блок команд 1
else:
блок команд 2
2. Наведіть приклади, коли у програмі варто застосовувати оператор неповного розгалуження.
Складіть програму мовою Python, у якій із двох введених цілих чисел А і В (<100) виводиться найбільше з них.
3. Як мовою програмування Python реалізувати вкладені розгалуження?
Якщо є потреба врахувати значення декількох логічних виразів, то використовують вкладені розгалуження:
if <логічний вираз1>:
блок команд 1
elif <логічний вираз2>:
блок команд 2
...
elif <логічний вираз n>:
блок команд n
else:
<блок команд інакше>
#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;
}
Все тесты которые ты написал, отработали.