Замена одного слова другим в строке - C (СИ)

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

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

Здравствуйте, помогите плз в решении задачи (срочно!!) Суть задачи состоит в том, что мы должны ввести с клавиатуры строку, потом ввести слово, которое мы хотим поменять в этой строке на другое и ввести слово, на которое собственно будем менять наше слово, результат должен выглядеть примерно так: Ведите строку: Я люблю мороженое Введите слово которое будем менять: мороженое Введите слово на которое будем менять: пиво результат: Я люблю пиво Вот что-то вроди этого, заранее спасибо!

Решение задачи: «Замена одного слова другим в строке»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6.     char a[60], b[256], *pa = a, *pb = b, ow[10], nw[10];
  7.     int i;
  8.     const size_t owSize = strlen(ow), nwSize = strlen(nw);
  9.     printf ("Vvedite stroku\n");
  10.     gets (a);
  11.     printf ("Vvedite slovo, kotoroje budem menyat'\n");
  12.     gets (ow);
  13.     printf ("Vvedite slovo na kotoroje budem menyat'\n");
  14.     gets (nw);
  15.    
  16.     for(; *pb = *pa; ++pa, ++pb)
  17.     {
  18.         if(!strncmp(pa, ow, owSize))
  19.         {
  20.             strcpy(pb, nw);
  21.             pa += owSize - 1;
  22.             pb += nwSize - 1;
  23.         }
  24.     }
  25.     puts(b);
  26.     getchar();
  27.     getchar ();
  28.         return 0;
  29. }

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

  1. Подключение необходимых библиотек для работы со строками
  2. Объявление переменных: массив для хранения исходной строки, массив для хранения строки-заменителя, указатель на первый символ исходной строки, указатель на первый символ строки-заменителя, указатель на первый символ исходной строки после последнего вхождения искомого слова, указатель на первый символ строки-заменителя после последнего вхождения искомого слова
  3. Получение исходной строки от пользователя с помощью функции gets
  4. Получение от пользователя слова, которое необходимо заменить, с помощью функции gets
  5. Получение от пользователя слова-заменителя с помощью функции gets
  6. Вычисление размеров строк с помощью функции strlen
  7. Инициализация пустых строк для хранения результатов замены
  8. Проверка нахождения искомого слова в исходной строке с помощью функции strncmp
  9. Если искомый текст найден, то происходит замена подстроки исходной строки на строку-заменитель с помощью функции strcpy
  10. Перемещение указателей на следующие символы исходной строки и строки-заменителя
  11. Повторение шагов 8-10 для всех вхождений искомого слова в исходной строке
  12. Вывод результата на экран с помощью функции puts
  13. Ожидание нажатия клавиши для завершения работы программы
  14. Возврат 0, что означает успешный конец работы программы

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


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

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

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы