Изменить порядок следования слов в тексте на противоположный - C (СИ)

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

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

1) Реализовать функцию: int calcWordsCount(const char *text, const char *word, int startFrom = 0); которая подсчитывает количество повторений заданного слова в заданном тексте. При это поиск начинается с заданной позиции. Функция должна использовать функцию findWord из предыдущего ДЗ. 2) Реализовать функцию: void replaceWords(char *text, const char *findWhat, const char *replaceWith); которая заменяет все вхождения заданного слова в заданном тексте другим словом, переданным ей в качестве параметра. Функция должна использовать функцию findWord из предыдущего ДЗ. 3) Реализовать функцию: void reverseWords(char *text); которая изменяет порядок следования слов в тексте на противоположный. (Слова разделены только пробелами). P.S. Ребят, помогите решить несколько задач. Заранее благодарен.

Решение задачи: «Изменить порядок следования слов в тексте на противоположный»

textual
Листинг программы
int findWord(const char *text, const char *word, int startFrom){
    for (int i = startFrom; text[i]; i++){
        if (text[i] == word[0]){
            bool f = true;
            for (int j = 1; word[j]; j++){
                if (text[i + j] != word[j]) {
                    f = false;
                    break;
                }
            }
            if (f) return i;
        }
    }
    return -1;
}

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

  1. Функция findWord принимает три аргумента: text (строка, в которой нужно найти слово), word (слово, которое нужно найти) и startFrom (откуда начать поиск, 0 - поиск с начала строки).
  2. Используется цикл for, который начинается с startFrom и идет до конца строки text.
  3. Внутри цикла проверяется, совпадает ли первый символ текущего слова в строке text с первым символом слова word.
  4. Если совпадение найдено, переменной f присваивается значение true, иначе false.
  5. Далее, в цикле for проверяются все последующие символы слова word. Если текущий символ в строке text не совпадает с ним, то переменная f приравнивается к false и цикл прерывается с помощью оператора break.
  6. Если все символы слова word совпадают с символами в строке text, то функция возвращает индекс первого символа слова в строке text с помощью оператора return.
  7. Если слово не найдено, функция возвращает -1.

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


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

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

6   голосов , оценка 4 из 5
Похожие ответы