Исключить из строки группы символов, расположенные между скобками [, ] - C (СИ)

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

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

Можете помочь решить? С объяснением пожалуйста. На чистом СИ | Дана строка символов. Исключить из этой строки группы символов, расположенные между скобками [, ]. Сами скобки тоже должны быть исключены. Предполагается, что внутри каждой пары скобок нет других скобок.

Решение задачи: «Исключить из строки группы символов, расположенные между скобками [, ]»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. char* remove_s(char* s, char fch, char lch){
  4.     char* p, *i, *t = s;
  5.  
  6.     while(*s && (*s != fch))
  7.         ++s;
  8.  
  9.     for(p = s; *s; *s = *p){
  10.         if(*p == fch){
  11.  
  12.             i = p + 1;
  13.             while(*i && (*i != lch)){
  14.                 if(*i == fch){
  15.                     i = NULL;
  16.                     break;
  17.                 }
  18.                 ++i;
  19.             }
  20.  
  21.             if((i != NULL) && (*i == lch)){
  22.                 p = i + 1;
  23.                 continue;
  24.             }
  25.         }
  26.         ++s;
  27.         ++p;
  28.     }
  29.     return t;
  30. }
  31.  
  32. int main(void){
  33.     char s[] = "[XXX]+[YYYYYYY] = [END]";
  34.  
  35.     puts(s);
  36.     puts( remove_s(s, '[', ']') );
  37.     return 0;
  38. }

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


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

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

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

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

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

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