![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Krjuger |
![]()
Сообщение
#1
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Проблема в том,что я не знаю как реализовать операцию деления,потому что стек построен таким образом что 1 2 \ выдаст мне не 0.5,как должно а выдаст 2,потому что будет поделено не 1 на 2,а 2 на 1 изза того что двойка будет выше по стеку.С + и * не имеет значение положение,с - просто беру обратное число,а вот что с делением сделать ума не приложу.Еще мне не очень нравится,как выглядить эта прога,поэтому хотелось бы чтобы дали советы как это реализовать по другому,чтобы поэффективнее было. |
![]() ![]() |
Krjuger |
![]()
Сообщение
#2
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Цитата удивляется, почему же из стека сначала читается последнее число во первых, я не удивляюсь,если ты не заметил, то я сам объяснил проблему моих затруднейний при данной реализации.Если бы я знал, что можно создавать такие конструкции, как (((a = pop(opers)), (b = pop(opers)), b / a),у меня бы таких вопросов вообще не возникло бы. Цитата Был бы постоянный доступ к компьютеру и Интернету - ничего б из меня не получилось. Ага, ты бы щас сидел и так же, как и многие, изобретал бы свои корявые функции вместо использования библиотечных.Более того, о том как ты обучался...... тогда языки были не настолько высокоуровневы,там был десяток другой функций (утрировано) и в основном решались задачи,требовавшие только вычислительных действий.высчитать какой нибудь полином,найти корни какого нибудь класса уравнений или функций и т.д.Поэтому требования в знанию специфики самого языка были меньше, чем сейчас,зато была большая привязанность в умению составлять алгоритмы. Так же наверно у нас с вами разное представление понятия "алгоритм",все, что вы мне исправили было не неправильностью алгоритма,а не совсем верным выбором пути реализации. Цитата А качество программ все ниже и ниже Качество ниже,потому что щас заставляют писать программы всех подрят и зачастую людям,которые далеки от математики и не обладают соответствующим складом ума приходится этим заниматься. Ну, а что поделаеш,раньше на асм писали, по перфакартам отлаживали,а теперь представь все это сейчас.Серьезные задачи решались бы годами.Зато был бы один плюс,в институтах было всего пара групп которые бы этим занимались,существовало бы лиш избранное количество программистов(причем много меньше чем сейчас). По хорошему ты сам пользуешся средствами ,которые были написаны людьми,которые либо умнее тебя,либо додумались до этого и реализовали это раньше тебя(тот же билдер и дугие редакторы).А теперь представь чо ты вернешся во времена своего обучения,когда ничего этого не было,в итоге каждый раз для своих целей будет изобретать очередной велосипед,это будет занимать уйму времени,но ты будеш прекрасно знать работу самого процессора да и все функционирование системы,плюс очень хорошо будет разбираться в алгоритмах. Короче на данном этапе развития знание семантики и синтаксиса языка очень сильно влияет на стабильность, скорость работы программы while(isdigit(v[i]))-библиотечная функция. while ((v[i]>='0')&&(v[i]<='9')) мой вариант. Выполняют они абсолютно одно и тоже с точки зрения аглоритма,но 1 вариант придумал человеком,который уж явно умнее меня и наверно продумал варианты,когда мой варинат будет некорректно работать.В итоге использование библиотечной функции повышаеть стабильность программы.А в конце концов,чем все это было вызвано...тем,что я просто не знал о существовании такой функции. Кстати о птичках,эта реализация взята из книги Страуструпа..... Кстати я нашел реализованную на С++ постфиксную запись и вычисление,но знаеш почему я ее не использовал?Да потому что от меня не требуется хорошо копаться в интернете и предоставить отлично работающую программу написанную методами,которые мне неизвестны,а мне надо создать свой собственный еле едущий велосипед,чтобы показать, что я не простой пользователь,нажимающий на иконки,когда кто то другой все сделал за меня,а челвоек,который способен сам сделать что либо.И к вам я обращаюсь с целью либо посоветовать реализацию,либо помоч исправиль ошибку,которую я сам исправить не могу из-за отсутствия необходимых знаний.Я не разу не просил скинуть мне готовый код того чего я хочу. |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 13:51 |