Удаление комбинации символов из массива. - C (СИ)

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

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

Доброго времени суток. Прошу помочь в таком вопросе: нужно удалить из введённой (не более 100 знаков) строки комбинацию букв "the".
#include <stdio.h>
#include <conio.h>
 
int main ()
{
    
    char str[100],str1[100];
    int i,x,j;
    
    printf ("Vvedite stroku simvolov(ne bolee 100 elementov)\n");
    scanf ("%s",str);
    x=sizeof str/sizeof str[0];    
    for (i=0;i<x;i++)
    {
        if (str[i]=='t'&&str[i+1]=='h'&&str[i+2]=='e')
        {
        for (j=i;j<i+3;j++)
        {
            str1[j]=str[i];
            }
        }
    }    
printf ("%s",str1);    
        
getch();
return 0; 
}

Решение задачи: «Удаление комбинации символов из массива.»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
 
int main ()
{
    
    char str[100];//, str1[100]; можно обойтись одним массивом
    int i, x, j;
    
    printf ("Vvedite stroku simvolov(ne bolee 100 elementov)\n");
    scanf ("%s", &str);
    x = sizeof(str) / sizeof(char);    
    //printf("%d, %s", x, str);
    j = 0;
    for (i=0; i<x; i++)
    {
       //когда встречаем комбинацию "the"
        if (str[i-3]=='t'&&str[i-2]=='h'&&str[i-1]=='e')
        {
            //"откатываемся" назад на три символа.  
            j -= 3;
     }
     str[j] = str[i];
         j++;
 
    }    
    printf ("%s",str);    
        
    getch();
    return 0; 
}

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

В этом коде:

  1. Объявлен массив символов str размером 100 символов.
  2. С помощью функции scanf в этот массив считывается строка символов, введенная пользователем.
  3. Вычисляется размер массива str в байтах, который сохраняется в переменной x.
  4. В переменной j инициализируется счетчик, который будет использоваться для отслеживания индекса первого символа комбинации the в массиве str.
  5. В цикле for происходит сравнение каждого символа массива str с символами комбинации the. Если комбинация найдена, то счетчик j откатывается назад на три символа, чтобы сохранить остальные символы без изменений.
  6. После цикла for выводится массив str.
  7. В конце программы вызывается функция getch, которая ожидает нажатия клавиши пользователем, и функция return 0, которая завершает программу.

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


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

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

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