Замена одного слова другим в строке - C (СИ)
Формулировка задачи:
Здравствуйте, помогите плз в решении задачи (срочно!!)
Суть задачи состоит в том, что мы должны ввести с клавиатуры строку, потом ввести слово, которое мы хотим поменять в этой строке на другое и ввести слово, на которое собственно будем менять наше слово, результат должен выглядеть примерно так:
Ведите строку:
Я люблю мороженое
Введите слово которое будем менять:
мороженое
Введите слово на которое будем менять:
пиво
результат: Я люблю пиво
Вот что-то вроди этого, заранее спасибо!
Решение задачи: «Замена одного слова другим в строке»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main() { char a[60], b[256], *pa = a, *pb = b, ow[10], nw[10]; int i; const size_t owSize = strlen(ow), nwSize = strlen(nw); printf ("Vvedite stroku\n"); gets (a); printf ("Vvedite slovo, kotoroje budem menyat'\n"); gets (ow); printf ("Vvedite slovo na kotoroje budem menyat'\n"); gets (nw); for(; *pb = *pa; ++pa, ++pb) { if(!strncmp(pa, ow, owSize)) { strcpy(pb, nw); pa += owSize - 1; pb += nwSize - 1; } } puts(b); getchar(); getchar (); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками
- Объявление переменных: массив для хранения исходной строки, массив для хранения строки-заменителя, указатель на первый символ исходной строки, указатель на первый символ строки-заменителя, указатель на первый символ исходной строки после последнего вхождения искомого слова, указатель на первый символ строки-заменителя после последнего вхождения искомого слова
- Получение исходной строки от пользователя с помощью функции gets
- Получение от пользователя слова, которое необходимо заменить, с помощью функции gets
- Получение от пользователя слова-заменителя с помощью функции gets
- Вычисление размеров строк с помощью функции strlen
- Инициализация пустых строк для хранения результатов замены
- Проверка нахождения искомого слова в исходной строке с помощью функции strncmp
- Если искомый текст найден, то происходит замена подстроки исходной строки на строку-заменитель с помощью функции strcpy
- Перемещение указателей на следующие символы исходной строки и строки-заменителя
- Повторение шагов 8-10 для всех вхождений искомого слова в исходной строке
- Вывод результата на экран с помощью функции puts
- Ожидание нажатия клавиши для завершения работы программы
- Возврат 0, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д