Изменить порядок следования слов в тексте на противоположный - 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; }
Объяснение кода листинга программы
- Функция
findWord
принимает три аргумента:text
(строка, в которой нужно найти слово),word
(слово, которое нужно найти) иstartFrom
(откуда начать поиск, 0 - поиск с начала строки). - Используется цикл
for
, который начинается сstartFrom
и идет до конца строкиtext
. - Внутри цикла проверяется, совпадает ли первый символ текущего слова в строке
text
с первым символом словаword
. - Если совпадение найдено, переменной
f
присваивается значениеtrue
, иначеfalse
. - Далее, в цикле
for
проверяются все последующие символы словаword
. Если текущий символ в строкеtext
не совпадает с ним, то переменнаяf
приравнивается кfalse
и цикл прерывается с помощью оператораbreak
. - Если все символы слова
word
совпадают с символами в строкеtext
, то функция возвращает индекс первого символа слова в строкеtext
с помощью оператораreturn
. - Если слово не найдено, функция возвращает
-1
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д