Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Oleg I. Khovayko                     2:5020/400     12 Feb 2002  19:31:36
 To : Pavel Markov
 Subject : Re: Текстовое выражение вычислить
 -------------------------------------------------------------------------------- 
 
 
 >   '+', '-' и круглых скобок. Причем, открывающая круглая скобка может
 >   стоять только за знаком '-'. Hайти численное значение этого выражения.
 >   Пример: 2-(3+5-(3-(3+3)-2)) }
 > 
 
 Hу если делать по науке и правильно, надо писать БHФ и 
 использовать рекурсивно-нисходящий разбор по Вирту.
 Код получается несложным, но тем не менее все же требуется
 некая подготовка. Да и преподу потом надо обьяснять, как же 
 оно работает...
 
 Hо задача очень сильно упрощается, если всмотреться в условие:
 "круглая скобка может  стоять только за знаком '-'".
 
 тут сразу приходит в голову элементарный алгоритм 
 (корректности синтаксиса он не проверяет):
 
 DO {
   char *p_1 = найти позицию первой открыващей скобки.
   char *p_2 = найти позицию последней закрыващей скобки.
 
   если скобок больше нету - break;
 
   заменить скобки по адресам p1 & p2 на пробелы
   заменить знаки операций на подстроке между p1 & p2 на 
      противоположные - то есть "-" -> "+" и наоборот
 } while(true);
 
 Hу а дальше - элементарно вычисляешь получившееся 
 выражение без скобок...
 
 -- 
 #include <best/regards.hpp>
 Oleg I. KHOVAYKO  
 (301)435-5885 || WEB: http://olegh.spedia.net
 --- ifmail v.2.15dev5
  * Origin: National Center for Biotechnology Information (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Текстовое выражение вычислить   Pavel Markov   12 Feb 2002 15:38:43 
 Re: Текстовое выражение вычислить   Max Vikulov   12 Feb 2002 20:40:49 
 Re: Текстовое выражение вычислить   Oleg I. Khovayko   12 Feb 2002 19:31:36 
 Re: Текстовое выражение вычислить   Oleg I. Khovayko   12 Feb 2002 21:00:24 
 Re: Текстовое выражение вычислить   Oleg I. Khovayko   12 Feb 2002 21:16:49 
 Re: Текстовое выражение вычислить   Pavel Markov   20 Feb 2002 18:43:07 
Архивное /ru.algorithms/115224f6d0118.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional