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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
 
char* remove_s(char* s, char fch, char lch){
    char* p, *i, *t = s;
 
    while(*s && (*s != fch))
        ++s;
 
    for(p = s; *s; *s = *p){
        if(*p == fch){
 
            i = p + 1;
            while(*i && (*i != lch)){
                if(*i == fch){
                    i = NULL;
                    break;
                }
                ++i;
            }
 
            if((i != NULL) && (*i == lch)){
                p = i + 1;
                continue;
            }
        }
        ++s;
        ++p;
    }
    return t;
}
 
int main(void){
    char s[] = "[XXX]+[YYYYYYY] = [END]";
 
    puts(s);
    puts( remove_s(s, '[', ']') );
    return 0;
}

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


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

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

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