Замена одного слова другим в строке - 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;
}

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

  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
Похожие ответы