Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2009, 02:08   #1
slivochny
 
Регистрация: 20.11.2008
Сообщений: 6
По умолчанию Калькулятор

Нужно написать калькулятор, который бы работал с числами любой размерности и со скобками. У кого-нибудь есть какие-то идеи по этому поводу?? (чистый с (без++))
Обычный калькулятор уже есть)

Последний раз редактировалось slivochny; 16.06.2009 в 02:20.
slivochny вне форума Ответить с цитированием
Старый 16.06.2009, 16:12   #2
Merkator
Читаю Кормена
Пользователь
 
Аватар для Merkator
 
Регистрация: 28.12.2008
Сообщений: 46
По умолчанию

  1. Проверка правильной скобочной последовательности
  2. Проверка на синтаксические ошибки(например 2+*6)
  3. Разбиение выражения на дерево(например 2+2*5/6+9)
    +
    / | \
    2 | 9
    / \
    * 6
    / \
    2 5


ну а дальше считать по этому дереву
Merkator вне форума Ответить с цитированием
Старый 16.06.2009, 16:19   #3
slivochny
 
Регистрация: 20.11.2008
Сообщений: 6
По умолчанию

и как это будет в коде выглядеть??
примерно)
slivochny вне форума Ответить с цитированием
Старый 17.06.2009, 12:07   #4
Merkator
Читаю Кормена
Пользователь
 
Аватар для Merkator
 
Регистрация: 28.12.2008
Сообщений: 46
По умолчанию

Ну примерно так примерно... но это на c++
Код:
#include <stdio.h>
#include <vector>
#include <stack>
#define TRUE 1
#define FALSE 0

bool checksynt(){
//проверка синтаксиса
};

int buildtree(){
//построение дерева
};

char* calctree(){
//подсчет полученого дерева
};

int main(){
    char *s;
    scanf("%s",&s);
    if(!checksynt()){
        printf("ERROR");
        exit(0);    
    }  else  {
        buildtree();
        s=calctree();
    }    
    printf("%s",s);
    return 0;
}
А если вам нужен был весь код то я приглашаю вас в раздел фриланс)).

Последний раз редактировалось Merkator; 17.06.2009 в 12:15. Причина: Ошибка в синтаксисе
Merkator вне форума Ответить с цитированием
Старый 17.06.2009, 20:49   #5
paladinn
Пользователь
 
Регистрация: 19.12.2008
Сообщений: 26
По умолчанию

берёшь Лафоре открываешь разбор арифмитических выражений
paladinn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор ViNcHeStEr Помощь студентам 5 23.11.2008 15:39
Калькулятор Димарик Общие вопросы Delphi 1 04.10.2008 15:52
Калькулятор Nixtone Помощь студентам 7 03.07.2008 23:17
Калькулятор =) noxer Microsoft Office Excel 1 29.04.2008 05:14
Калькулятор Ivanich Помощь студентам 5 21.12.2007 14:48