Подсчитать количество вхождений слова "мама" в строку и вывести номера первых позиций этих вхождений - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Не выводит номер позиции. Помогите пожалуйста Подсчитать количество вхождений слова «мама» в строку и вывести номера первых позиций этих вхождений. Если этого слова в строке нет, то вывести об этом информацию.
Листинг программы
  1. #include "stdafx.h"
  2. #include "windows.h"
  3. #include "iostream"
  4. #include "string.h"
  5. int main()
  6. {
  7. setlocale (LC_ALL,"RUS");
  8. int n=0;
  9. char s[100];
  10. printf ("Введите строку\n");
  11. gets(s);
  12. char *p=s;
  13. while(*p)
  14. {
  15. p=strstr( p, "mama");
  16. if(p==NULL) break;
  17. n++;
  18. p++;
  19. }
  20. printf("Номер позиции %d\n", p);
  21. printf("Количество вхождений = %d\n", n);
  22. system("pause");
  23. return 0;
  24. }

Решение задачи: «Подсчитать количество вхождений слова "мама" в строку и вывести номера первых позиций этих вхождений»

textual
Листинг программы
  1. printf("Номер позиции: %d\n", p-s);

Объяснение кода листинга программы

В данном коде происходит следующее:

  1. Вводится строка s, в которую затем добавляются различные символы и слова, в том числе и слово мама.
  2. Затем в цикле происходит поиск слова мама в строке s с помощью функции strstr(). Функция возвращает указатель на первое вхождение подстроки мама в строку s. Если подстрока не найдена, то возвращается значение NULL.
  3. Если функция strstr() вернула не NULL, то значит подстрока мама найдена в строке s. В этом случае измеряется расстояние от начала строки s до первого вхождения подстроки мама с помощью функции ptrdiff(). Полученное значение сохраняется в переменной p.
  4. Затем выводится сообщение с номером позиции первого вхождения слова мама в строку s с помощью функции printf(). Список действий в коде:
  5. Ввод строки s.
  6. Добавление различных символов и слов в строку s.
  7. Поиск слова мама в строке s с помощью функции strstr().
  8. Измерение расстояния от начала строки s до первого вхождения подстроки мама с помощью функции ptrdiff().
  9. Вывод сообщения с номером позиции первого вхождения слова мама в строку s с помощью функции printf().

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы