![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Пожалуйста кто знает помогите написать процедуру или натолкните хотя бы на мысль. Хочу пример, который вводится в TEdit, решить в другой Edit. Пример (2+2 или другой более сложный) string. Я новичок и не могу допереть что делать.
|
#2
|
|||
|
|||
![]() даю наводку.
надо читать содержимое строки и разбирать ее на составляющие: число1, число2, ...., числоn и знаки между ними. Посмотри работу со строками, конкретно функцию Pos - она тут будет использоваться больше всего. С функциями IntToStr и StrToInt, думаю, ты знаком. Если надо, могу выложить паскалевский исходник программки, которая эмулировала броски d&d кубиков d4, d6, d8, d10, d20 в разных их количествах и выдавала конечный результат.задание брала из вводимой с клавиатуры строки. так будет довольно просто поймать мысль. Последний раз редактировалось nixel, 14.03.2012 в 11:49. |
#3
|
||||
|
||||
![]() Почитай вот эту статейку на Википедии, тут все хорошо расписано. Если влом самому писать алгоритм - то в сети можно найти много реализаций.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#4
|
||||
|
||||
![]() Цитата:
Автору же предлагаю изучить работу с грамматиками, рег. выражениями, разборы цепочек символов, и.т.д. ну и глянуть ссылку данную выше... |
#5
|
|||
|
|||
![]() Цитата:
Последний раз редактировалось nixel, 14.03.2012 в 13:55. |
#6
|
|||
|
|||
![]() я решал такую тупо, зная только массивы и посимвольный обход строки в цикле:
в два-три массива: сначала считал все числа, потом все операции(их должно быть на 1 меньше чем чисел), в третий проход – расставил приоритеты у операций(что-то вроде: кол-во не закрытых скобок * приоритет самой), потом их совершил в порядке убывания приоритета(по очереди укорачивая массивы на 1). получилось вполне себе складно, единственная проблемка была с минусами перед цифрами напр: -2-2*-2, можно решать по разному, например минусы брать в тот массив где числа, как операцию не брать Цитата:
Последний раз редактировалось Pyro, 14.03.2012 в 14:30. |
#7
|
|||
|
|||
![]() Модуль из RxLib содержит все необходимое для матем. вычислений ( GetFormulaValue(const Formula: string): Extended )
|
#8
|
|||
|
|||
![]() Цитата:
|
#9
|
|||
|
|||
![]() Цитата:
|