Очередь. Анализатор строки
char data;
struct List *nextPtr;
};
typedef struct List list;
typedef List *ListPtr;
Как сюда данные внести, как удалить - знаю!
Но как найти определенный символ? Т.е. необходимо пройтись по очереди и найти например символ '+'...
Люди, помогите мне разобраться с моей проблемой. Я весь код приводить не буду, но кое что покажу.. Есть вот такое
char data;
struct List *nextPtr;
};
typedef struct List list;
typedef List *ListPtr;
Как сюда данные внести, как удалить - знаю!
Но как найти определенный символ? Т.е. необходимо пройтись по очереди и найти например символ '+'...
>nextPtr){}
/*или*/
for(List* ptr=ListFirst;ptr->nextPtr;ptr=ptr-
>nextPtr){}
>nextPtr){}
/*или*/
for(List* ptr=ListFirst;ptr->nextPtr;ptr=ptr-
>nextPtr){}
Спасибо помогло, правда я через while сделал (работает быстрее - доказано).
Вопрос №2... Все нормально считает, НО!
когда строка типа такой стоит 2+3/8 - работает.
А стоит записать такую строку 23+8 уже не работает!
Как записать массив из символов в данном случае?
Тут просто ошибка в том, что идут ДВА символа ПОДРЯД!
Спасибо помогло, правда я через while сделал (работает быстрее - доказано).
Вопрос №2... Все нормально считает, НО!
когда строка типа такой стоит 2+3/8 - работает.
А стоит записать такую строку 23+8 уже не работает!
Как записать массив из символов в данном случае?
Тут просто ошибка в том, что идут ДВА символа ПОДРЯД!
Ты случайно не интерпритатор формул пишешь?
Потому как я именно его пишу, но формульную строку представляю иначе
Ты случайно не интерпритатор формул пишешь?
Потому как я именно его пишу, но формульную строку представляю иначе
Да, именно его родимого!
Я тоже немного от своего алгоритма отошел...
Я просто взял в дополнение перечислимые константы в качестве "указателя" ("указатель" не относится к синтаксису С/С++, просто слово похожее)...
Ну и если встречается число то указываем, что это число... Сканем до тех пор, пока не будет знак, переменная и т.д...
Да, именно его родимого!
Я тоже немного от своего алгоритма отошел...
Я просто взял в дополнение перечислимые константы в качестве "указателя" ("указатель" не относится к синтаксису С/С++, просто слово похожее)...
Ну и если встречается число то указываем, что это число... Сканем до тех пор, пока не будет знак, переменная и т.д...
посмотрите регулярные выражения - оч полезная штука для анализа строк.
Ты случайно не интерпритатор формул пишешь?
Потому как я именно его пишу, но формульную строку представляю иначе
народ а что такое интерпритатор формул?
DissDoc кто и как доказал, что while работает быстрее for?
народ а что такое интерпритатор формул?
Под интерпритатором формул подразумевается перевод математической строки в обчисленный результат.
Например Ты передаеш функции строку "20+3-(2+3*4)", а она Тебе дает результат (9 :).