#1 28.02.06 16:10
Срочно Help! (с++)
помогите решить задачу:
Задана строка. Проверить удовлетворяет ли ее структура следующему определению:
<текст>=<элемент>|<элемент><текст>
<элемент>=a|b|..|z|(<текст>)|[<текст>]|{<текст>}
короче проверить баланс скобок
Offline
#8 04.03.06 11:17
Re: Срочно Help! (с++)
А если: ( { [ } ] ) ?
Такой расклад по уловию не подходит, а по предложеным решениям - влет.
Думаю, лучше так:
int isStrBalanced(char * str)
for(char *c = str; *c != 0; c++){
if(*c == '(' || *c == '{' || *c == '[') stack.push(*c);
else if(*c == ')' && stack.pop() != '(') return 0;
else if(*c == '}' && stack.pop() != '{') return 0;
else if(*c == ']' && stack.pop() != '[') return 0;
}
if(stack.empty)return 1;
else return 0;
}
Offline

