Подсчитать количество вхождений слова "мама" в строку и вывести номера первых позиций этих вхождений - 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);

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

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

  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
Похожие ответы