|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.09.2010, 21:19 | #1 | |
Пользователь
Регистрация: 10.11.2008
Сообщений: 93
|
Строковый калькулятор
Привет.
Мне нужно написать строковый калькулятор на языке С++ Цитата:
Так же просьба подсказать алгоритм и шаги реализации программы. Спасибо большое. З.Ы. про обратную нотациую почитал, вроде понял смысл |
|
16.09.2010, 19:57 | #2 |
Регистрация: 22.03.2010
Сообщений: 3
|
C учебником подскажу: классный учебник - Т.А. Павловская "С/С++ программирование на языках высокого уровня". Сам по ней учусь! Но с калькулятором пока помочь не могу (сам зеленый!), учусь на первом курсе!
Последний раз редактировалось RHuman; 16.09.2010 в 20:07. |
16.09.2010, 20:23 | #3 |
Пользователь
Регистрация: 10.11.2008
Сообщений: 93
|
Спасибо за учебник, так вот я тоже )) Это первая лаба
|
16.09.2010, 21:24 | #4 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Пользуйтесь поиском: http://programmersforum.ru/showthread.php?t=33111
Только она на паскале. Я даже на ассемблере ее переписывал Могу и на С++ |
17.09.2010, 00:01 | #5 |
Пользователь
Регистрация: 10.11.2008
Сообщений: 93
|
Спасибо, мне код не обязателен. Обычным языком поясните алгоритм. Вот я перевел числа в ОПН, а дальше что?
|
17.09.2010, 10:13 | #6 |
Регистрация: 22.03.2010
Сообщений: 3
|
Ты хочешь сказать, это первая лаба на первом курсе?? Ты в каком универе то учишься??
|
17.09.2010, 18:25 | #7 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
а дальше просто выполняешь по порядку действия. т.е (1+2)*3/4 в польской нотации будет: 1 2 + 3 4 / * Здесь желательно организовать стек для выполнения операций. Логика такая: если встречается число, оно заносится в стек, а если знак операции, то (операнд предшествующий вершине стека)_операция_(операнд в вершине стека). Т.е. операция всегда проводится между вершиной стека и операндом, находящимся за ней. После выполнения эти два операнда удаляются из стека, а на их место записывается один результат. Если не понятно, то почитай про стек сопроцессора х86. Там именно такая реализация, заточенная под обратную польскую запись.
|
20.09.2010, 14:15 | #8 | |
Пользователь
Регистрация: 10.11.2008
Сообщений: 93
|
Цитата:
Политех На вики букс нашел следующий код. Код:
Пытаюсь разобраться с кодом. Не совсем понятно это Код:
Так же хочу спросить.( не относится к коду, который выше) Я пытаюсь ввести выражение с клавиатуры. Для этого использую цикл for и посимвольно считываю выражение, заполняя ячейки массива. Но если массив типа int , то он не считает мои операнды. А если я сделаю массив типа char, то не смогу оперировать переменными как числами. Поясните, пожалуйста, мне Последний раз редактировалось Stilet; 20.09.2010 в 14:38. |
|
07.10.2010, 23:23 | #9 |
Пользователь
Регистрация: 10.11.2008
Сообщений: 93
|
Подскажите, пожалуйста, где можно наиболее подробно почитать про стеки с примерами?
|
08.10.2010, 00:23 | #10 |
Пользователь
Регистрация: 10.11.2008
Сообщений: 93
|
Код:
Начал потихоньку реализовывать. Помогите разобраться почему компилятор выдает следующее? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Строковый тип | McJordan | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 26.08.2010 17:22 |
Строковый тип | dusya9992 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 26.08.2010 00:53 |
Строковый тип | Koshmarick | Помощь студентам | 8 | 05.11.2009 12:37 |
строковый калькулятор | *Лена* | Фриланс | 4 | 06.05.2008 00:41 |