Страница: 1 |
Страница: 1 |
Вопрос: HELP ME, PLEASE!!! Помогите с VB!!
Добавлено: 18.12.07 22:51
Автор вопроса: INFERI
Помогите пожалуйста сделать задачу по VB. Или хотя бы объясните условие.
Дана строка символов. Проверить является ли эта строка синтаксически правильной записью арифметического выражения.
Ответы
Всего ответов: 15
Номер ответа: 1
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #1
Добавлено: 18.12.07 23:23
Что тут объяснять-то?
Например:
5 + (8 - 7 не правильно
5 + (8 - 7) правильно
78 *+ 62 не правильно
4 * log(5) правильно
Номер ответа: 2
Автор ответа:
INFERI
Вопросов: 1
Ответов: 1
Профиль | | #2
Добавлено: 18.12.07 23:27
хм.. действительно. как бы только это всё в программке реализовать?
Номер ответа: 3
Автор ответа:
ZoomerSD
ICQ: 148640473
Вопросов: 135
Ответов: 270
Профиль | | #3
Добавлено: 19.12.07 02:36
в цикле проверяй стоящие рядышком знаки и скобки, проверяй число или буква, и тебе надо хотябы знать список операций которые должна твоя программа поддерживать.. тип log, sin, cos и т.д. тебе их все придётся вручную описывать. ИМХО муторно и неблагодарно
Номер ответа: 4
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #4
Добавлено: 19.12.07 10:50
ИМХО, ничего сложного. Олимпиадная задача, которую решают миллионы
Номер ответа: 5
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #5
Добавлено: 19.12.07 12:48
смотришь еще, чтобы количество "" было равно количеству "".
Номер ответа: 6
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #6
Добавлено: 19.12.07 15:12
\/βΔ, в строке )78 + 1( * 3
количество "" равно количеству "" ))
Номер ответа: 7
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #7
Добавлено: 19.12.07 15:12
Оу, сорри за обращение.. я имел в виду VBD
Номер ответа: 8
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #8
Добавлено: 28.12.07 17:44
)) ну и еще смотришь на их порядоГ но это уже потом. При несоблюдении хотя бы одного правила нужно выходить из алгоритма, чтобы не жрать время.
Номер ответа: 9
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #9
Добавлено: 29.12.07 03:06
Это не олимпиадная задача, т.к. в них надо думать. Здесь просто реализация преобразования выражения в польскую инверсную запись с проверкой на пустоту стека в конце и соответствие формата ввода текущему состоянию.
Номер ответа: 10
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #10
Добавлено: 29.12.07 11:15
Номер ответа: 11
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #11
Добавлено: 29.12.07 12:32
2Sharp
Просто вспоминается, что у меня на олимпиаде когда-то была подобная задача.
Номер ответа: 12
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #12
Добавлено: 29.12.07 12:57
Уверен? Что-за фигню-то ты написал? И как ты собираешься делать проверку на пустоту стека на VB? Sharp, или давай своё решение, или не делай такой умный вид.
INFERI, я тебе могу сказать, что для решения задачи тебе надо знать:
1. перечень операций с узаканием их типа (унарные/бинарные);
2. знать правила расстановки скобок в выражении;
3. разделять все все идентификаторы на переменные/константы/структуры/функции
Номер ответа: 13
Автор ответа:
el-paso
Вопросов: 3
Ответов: 164
Профиль | | #13
Добавлено: 29.12.07 13:07
mc-black, не надо строить из себя Мистера Компетентность. Подобные задачи решаются именно так, как сказал Sharp.
Речь идет не о системном стеке, а о структуре данных в программе под названием стек, которая легко реализуется на любом языке программирования (например, с помощью массива).
Пользуйтесь Википедией. Там все есть. И про польскую запись, и про стек.
Номер ответа: 14
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #14
Добавлено: 29.12.07 15:16
Кстати, стек потока на VB тоже можно посмотреть и записать в него Но все равно я за Sharp, ибо на олимпиаде я именно так и делал.
Номер ответа: 15
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #15
Добавлено: 29.12.07 19:39
Я бы организаторов таких олимпиад на лобном месте вешал бы Там реализовать метод Гаусса или сортировку кучей не надо было? mc-black отжог