Замена одного слова другим в строке - 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, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д