Подсчитать все вхождение «abc» в строку и их удалить. - C (СИ)

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

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

Дана строка, содержащая сорок латинских букв. Подсчитать все вхождение «abc» в строку и их удалить. Вывести на экран два варианта полученных строк, заполняя образовавшую «дыру» последующими буквами с добавлением в конце пробелов, и, оставляя на месте удаленных символов пробелы. Не знаю как удалить "abc" из строки.

Решение задачи: «Подсчитать все вхождение «abc» в строку и их удалить.»

textual
Листинг программы
// 10_2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
int main(void)
{
   char s[] = "abc Heabcllo woabcrld";
   char *c;
    printf("This line:\n ");
    for(int i = 0; i < 22; i++)
    {
    printf("%c",s[i]);
    }
    printf("\n #1:\n");
   for ( c = strstr(s, "abc") ; c ; c = strstr(s, "abc") )
     strcpy(c, c + 3);
   printf("%s\n", s);
   char si[]="   ";
    char *c1;
    char s1[] = "abc Heabcllo woabcrld";
    for ( c1 = strstr(s1, "abc") ; c1 ; c1 = strstr(s1, "abc") )
        strncpy(c1,si,3);   
        printf("\n #2:\n");
    printf("%s\n", s1);
   _getch();
}

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

В этом коде происходит подсчет и удаление всех вхождений abc из строки, используя функции стандартной библиотеки языка C.

  1. Строка, в которой нужно найти и удалить abc, объявлена как char s[] =abc Heabcllo woabcrld;.
  2. Далее, с помощью функции printf, выводится исходная строка на экран.
  3. Используя цикл for и функцию strstr, которая ищет первое вхождение подстроки abc в строке s, мы начинаем удалять все вхождения abc. Функция strcpy используется для замены найденного вхождения abc на пустую строку.
  4. После удаления всех вхождений abc, с помощью функции printf выводится измененная строка на экран.
  5. Для второго примера используется такая же логика, но с функцией strncpy вместо strcpy, чтобы заменить только первые три символа abc на пустую строку.
  6. В конце программы используется функция _getch для приостановки выполнения программы и получения ввода от пользователя.

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


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

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

13   голосов , оценка 4.385 из 5
Похожие ответы