Подсчитать количество вхождений слова "мама" в строку и вывести номера первых позиций этих вхождений - C (СИ)
Формулировка задачи:
Не выводит номер позиции. Помогите пожалуйста
Подсчитать количество вхождений слова «мама» в строку и вывести номера первых позиций этих вхождений. Если этого слова в строке нет, то вывести об этом информацию.
Листинг программы
- #include "stdafx.h"
- #include "windows.h"
- #include "iostream"
- #include "string.h"
- int main()
- {
- setlocale (LC_ALL,"RUS");
- int n=0;
- char s[100];
- printf ("Введите строку\n");
- gets(s);
- char *p=s;
- while(*p)
- {
- p=strstr( p, "mama");
- if(p==NULL) break;
- n++;
- p++;
- }
- printf("Номер позиции %d\n", p);
- printf("Количество вхождений = %d\n", n);
- system("pause");
- return 0;
- }
Решение задачи: «Подсчитать количество вхождений слова "мама" в строку и вывести номера первых позиций этих вхождений»
textual
Листинг программы
- printf("Номер позиции: %d\n", p-s);
Объяснение кода листинга программы
В данном коде происходит следующее:
- Вводится строка s, в которую затем добавляются различные символы и слова, в том числе и слово
мама
. - Затем в цикле происходит поиск слова
мама
в строке s с помощью функции strstr(). Функция возвращает указатель на первое вхождение подстрокимама
в строку s. Если подстрока не найдена, то возвращается значение NULL. - Если функция strstr() вернула не NULL, то значит подстрока
мама
найдена в строке s. В этом случае измеряется расстояние от начала строки s до первого вхождения подстрокимама
с помощью функции ptrdiff(). Полученное значение сохраняется в переменной p. - Затем выводится сообщение с номером позиции первого вхождения слова
мама
в строку s с помощью функции printf(). Список действий в коде: - Ввод строки s.
- Добавление различных символов и слов в строку s.
- Поиск слова
мама
в строке s с помощью функции strstr(). - Измерение расстояния от начала строки s до первого вхождения подстроки
мама
с помощью функции ptrdiff(). - Вывод сообщения с номером позиции первого вхождения слова
мама
в строку s с помощью функции printf().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д