Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Удаление из строки комментария


Автор: TemichRus 6.1.2012, 15:27
В программу с клавиатуры вводится строка программы на языке Си. Если в этой строке есть комментарий, то удалить его из этой строки (вместе с символами обозначения комментария), задаваемые косой чертой и звездочкой (/* комментарий */). Задачу решить с помощью указателей без применения стандартных функций для обработки строк.
Код

char ch[80]={"while(true)/*комментарий*/k++;/*комментарий*/"};
char *pt;
pt=ch;

начинается вот так я полагаю?
ЗАРАНЕЕ СПАСИБО

Автор: Dov 7.1.2012, 01:50
Упрощённый вариант:
Код
int main()
{
    char ch[80] = "while(true)/*комментарий*/ k++;/*комментарий*/";
    char *pt, *beg, *end;

    pt = ch;
    while(*pt)
    {
        if(*pt == '/')
        {
            if(*(pt + 1) == '*')
                beg = pt++;
            else if(*(pt - 1) == '*')
            {
                end = beg;
                while(*end)
                    *end++ = *++pt;
                pt = beg;
            }
        }
        else
            pt++;
    } 
    puts(ch);

    return 0;
}

Автор: TemichRus 7.1.2012, 03:14
Спасибо огромное очень благодарен =))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)