Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Вниз

Парсинг алгебраических выражений (полиномов)   Найти похожие ветки 

 
Alexis ©   (2005-09-18 13:05) [0]

Доброе утро!

Буду программировать на C++ , но наадеюсь получить на этом форуме совет по составлению алгоритма. Так вот, пользователь вписывает формулу вида A0 + A1*x + A2*x^2 + AN*x^n = F(x), т.е. полином н-ной степени где разумеется коэфф. при некоторых степенях может и не быть (равны 0), коэфф. только целые числа, степени - положительные целые (>=1).

Также польз. может написать полином в такой форме
-10x^2 + 2x^3 - 2x^2
и надо это распознать и привести к виду
-12x^2 + 2x^3

Насколько я знаю, польская нотация здесь не поможет, т.к. значение полинома в точке вычислять не нужно. Я слышал о формах Бекуса-Наура, но не очень представляю, как они могут помочь в этом деле...

Был бы также очень признателен Ю.Зотову, если он найдет время мне помочь, т.к. сразу вспоминается его давняя дискуссия с кем-то этак на 1000 постов  по написанию калькулятора и парсингу выражений :) :)


 
MBo ©   (2005-09-18 13:29) [1]

Чтобы облегчить себе работу, нужно заставить пользователя писать правильно, не оставляя ему вариантов.
Например: сначала выбирается степень полинома N. После проверки, что это число "правильное" - например, не слишком велико - на форме появляется N+1 окошек для ввода коэффициентов, и в каждом вначале стоит ноль.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.013 c
14-1126951227
Piter
2005-09-17 14:00
2005.10.09
Быстродействие потоков


4-1124021579
webpauk
2005-08-14 16:12
2005.10.09
Сообщение при прерывании процесса


1-1126775624
keal
2005-09-15 13:13
2005.10.09
Компилятор кода Delphi в прогу под Unix


1-1127215730
CaptainAlex
2005-09-20 15:28
2005.10.09
навороченный PageControl


4-1123941644
TheGUEST
2005-08-13 18:00
2005.10.09
Создание патча





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский