S - Заданная символьная строка s2 - Заданное слово Идея проста: мы проходим по заданной строке и копируем подстроку, начиная с символа i, с количеством символов, равным количеством символов заданного слова. Например: Символьная строка: 34строка3254строка Заданное слово: строка Мы просто берём и проходим циклом 34строка3254строка 34строка3254строка 34строка3254строка ... и т.д. до самого конца. Если рассматриваемая нами подстрока равна заданному слову, то мы увеличиваем счётчик k на 1, после завершения цикла мы просто возвращаем значение нашего счётчика - количество вхождений заданного слова в строку. P.S. Мы идём циклом не от 1 до length(s), а от 1 + l1 - l2. К примеру в нашей строке нет смысла рассматривать подстроку, начиная отсюда 34строка3254строка т.к. символов в ней явно меньше чем в самом заданном слове, следовательно, дальше оно нам уже не попадётся:) Исходный код в приложении.
s2 - Заданное слово
Идея проста: мы проходим по заданной строке и копируем подстроку, начиная с символа i, с количеством символов, равным количеством символов заданного слова. Например:
Символьная строка:
34строка3254строка
Заданное слово:
строка
Мы просто берём и проходим циклом
34строка3254строка
34строка3254строка
34строка3254строка
...
и т.д. до самого конца. Если рассматриваемая нами подстрока равна заданному слову, то мы увеличиваем счётчик k на 1, после завершения цикла мы просто возвращаем значение нашего счётчика - количество вхождений заданного слова в строку.
P.S. Мы идём циклом не от 1 до length(s), а от 1 + l1 - l2. К примеру в нашей строке
нет смысла рассматривать подстроку, начиная отсюда
34строка3254строка
т.к. символов в ней явно меньше чем в самом заданном слове, следовательно, дальше оно нам уже не попадётся:)
Исходный код в приложении.
#include <iostream>
#include <cmath>
#include <locale.h>
using namespace std;
int main(int argc, char **argv)
{
setlocale(0, "Russian");
int a, b, c;
double p, res;
cout << "Введите длины сторон треугольника:"<<endl;
cin >> a >> b >> c;
if (a + b > c && a + c > b && b + c > a) {
p = (a + b + c) / 2.0;
res = sqrt(p * (p - a) * (p - b) * (p - c));
cout << "Площадь треугольника: "<< res <<endl;
}
else
cout << "Невозможно вычислить площадь!" <<endl;
return 0;
}