Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Поиск максимальной последовательности в другой последовательности https://www.cyberforum.ru/ cpp-beginners/ thread342853.html
Доброго времени суток. Решая эту задачу, наткнулся на небольшую проблему... Не знаю, как точно описать ее в двух словах, поэтому покажу на примере. Допустим, мы имеем последовательность, хранящуюся в массиве(векторе): 2 0 4 4 3 4 4 4 4 2 Мне нужно найти в ней такую последовательность, чтобы произведение минимального элемента этой последовательности и количество элементов в ней было...
whar_t char C++
whar_t и char перевод из одног типа в другой и обратно и обратно?
C++ char *s или char s[] char s1="1111",s2="2222"; printf("%s %s\n",s1,s2); memmove(s1,s2,2); printf("%s %s\n",s1,s2); работает нормально char *s1="1111",*s2="2222"; printf("%s %s\n",s1,s2); memmove(s1,s2,2); printf("%s %s\n",s1,s2); компилируется с предупреждением https://www.cyberforum.ru/ cpp-beginners/ thread342836.html C++ Подскажите книжку по динамическому программированию. https://www.cyberforum.ru/ cpp-beginners/ thread342825.html
Доброго времени суток! Наткнулся на такое понятие, как динамическое программирование, горю желанием узнать больше. Пожалуйста, подскажите литературу по динамическому программированию, только для программистов, а не для математиков.
Конструктор копировщик C++
Самостоятельно изучаю С++ по Либерти(освой за 21 день) Требуется создать класс и конструктор копировщик. Компилятор Visual C++ 2010. Выдает ошибку: 1>c:\users\selver\documents\visual studio 2010\projects\bufer\bufer\hgfh.cpp(42): error C2662: 'SimpleCircle::GetRadius' : cannot convert 'this' pointer from 'const SimpleCircle' to 'SimpleCircle &' Хотя в книге написано что должно работать....
C++ Создание вложенной папки (Directory) Добрый день, появилась необходимость создать вложенную папку в среде windows XP нашел тока #include <windows.h> CreateDirectory((LPCTSTR)"c:\\new",NULL); // но данный код не работает почему-то, к тому же я так понял проблема с преоразованием в LPCTSTR из char* или string у меня есть путь в переменной std::string path = "C:\\test\01\01"; , приэтом папки C:\\test еще нету, необходимо... https://www.cyberforum.ru/ cpp-beginners/ thread342790.html
C++ Разложение числа на слагаемые https://www.cyberforum.ru/ cpp-beginners/ thread342773.html
Разложение числа на слагаемые - используется во многих задачах (как мне кажется - это тривиальная задача). И мне стало интересно: какой самый быстрый алгоритм разложения числа на слагаемые вы предложите? Думаю, максимальный тест n<=50. З.Ы. Проверю на время сам. И разложения должны быть без повторений (перестановка слагаемых не дает новых разложений) и чтоб строка слагаемых выводилась в файл...
C++ Расчет краски на лабиринт
Условие задачи тут #include <iostream> using namespace std; void paint(int i, int j) { if (a=='.') { a='$'; paint(i+1,j); paint(i-1,j); paint(i,j+1);
C++ Создание нескольких стеков //--------------------------------------------------------------------------- #pragma hdrstop #include <tchar.h> #include <stdlib.h> #include <iostream.h> #include <dos.h> //--------------------------------------------------------------------------- namespace Stack https://www.cyberforum.ru/ cpp-beginners/ thread342698.html C++ Сохранение матриц больших размеров в типизированный файл Проблема: есть большой двумерный массив (double). Пытаюсь сохранить его в типизированный файл (а затем считать в другой массив). В файл сохраняется только некоторая часть (до 58 элемента, в частном случае), на оставшиеся места записываются максимальное и минимальное значения double (+-6.2 * 10^66). Причем иногда прерывается посередине строки. Как будто память под строку выделилась не в одном... https://www.cyberforum.ru/ cpp-beginners/ thread342662.html
два ++ C++
Что означает "++" что ето за операция в С++Builder очень надо узнать Напишите кто нибудь.
C++ Тетрис и многопоточность Здравствуйте. Взялся я за тетрис, немного написал, а потом понял, что мне нужны два потока. Вот зачем: у меня игровое поле — двумерный массив . Фигура представленна массивом . В то время, как один поток будет опускать фигуры вниз, второй поток должен крутить эту же фигуру независимо от шажков спуска. Как это реализовать? Я честно гуглил, но конкретных примеров многопоточности в C++ не... https://www.cyberforum.ru/ cpp-beginners/ thread342646.html
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
17.08.2011, 21:04 0

калькулятор - C++ - Ответ 1920221

17.08.2011, 21:04. Показов 3801. Ответов 28
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

Образцовый кальк с помощью рекурсии.
Взят из книги Страуструпа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <iostream>
#include <map>
#include <sstream>
#include <cctype>
enum Token_value {
    NAME, NUMBER, END,
    PLUS = '+', MINUS='-', MUL='*', DIV='/',
    PRINT=';', ASSIGN='=', LP='(', RP=')'
};
Token_value curr_tok=PRINT;
std::map<std::string,double> table;
double number_value;
std::string string_value;
int no_of_errors;
double error(const std::string& s){ 
    no_of_errors++;
    std::cerr << "error: " << s << std::endl;
    return 1;
}
Token_value get_token()
{
    char ch = 0;
    do {
        if (!std::cin.get(ch)) return curr_tok = END;
    } while (ch!='\n'&&isspace(ch));
 
    switch (ch) {
        case 0:
             return curr_tok = END;
        case ';':case '\n':
             return curr_tok = PRINT;
        case '*':case'/':case '+':case '-':case '(':case ')':case '=':
             return curr_tok=Token_value(ch);
        case '0':case '1':case '2':case '3':case '4' :
        case '5':case '6':case '7':case '8':case '9':case '.':
             std::cin.putback(ch);
             std::cin>>number_value;
             return curr_tok=NUMBER;
        default:
             if (isalpha(ch)) {
                 string_value = ch;
                 while (std::cin.get(ch)&&isalnum(ch)) string_value.push_back(ch);
                 std::cin.putback(ch);
                 return curr_tok = NAME;
             }
             error ("bad token");
             return curr_tok = PRINT;
    }
}
double expr(bool get);
double prim(bool get){
    if (get) get_token();
    switch (curr_tok){
    case NUMBER:{
        double v=number_value;
        get_token();
        return v;
    }
    case NAME:{
        double& v = table[string_value];
        if (get_token()==ASSIGN) v=expr(true);
        return v;
    }
    case MINUS:return -prim(true);
    case LP:{
        double e=expr(true);
        if (curr_tok!=RP) return error("')'expected");
        get_token();
        return e;
    }
    default:
        return error("primary expected");
    }
}
double term(bool get){
    double left=prim(get);
    for (;;)
        switch (curr_tok){
         case MUL:
             left*=prim(true);
             break;
         case DIV:
             if (double d=prim(true)){
                 left /= d;
                 break;
             }
             return error("divide by 0");
 
         default:return left;
        }
}
double expr(bool get){
    double left=term(get);
    for (;;)
        switch(curr_tok){
        case PLUS:
            left+=term(true);
            break;
        case MINUS:
            left-=term(true);
            break;
        default:
            return left;
        }
}
int main() {
    table["pi"]=3.141592653589793;
    table["e"]=2.7182818284590452;
    while (std::cin){
        get_token();
        if (curr_tok==END) break;
        if (curr_tok==PRINT) continue;
        std::cout << expr(false) << std::endl;
    }
    return no_of_errors;
}
Поддерживает переменные и скобки, не поддерживает функции.
Я им часто пользуюсь в консоли, это быстрее чем пайтона открывать =\

Вернуться к обсуждению:
калькулятор C++
3
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2011, 21:04
Готовые ответы и решения:

Как преобразовать обычный калькулятор в калькулятор использующий класс стек?
#include &lt;iostream&gt; int main(){ int a = 0; int b = 0; char operation; ...

Простой калькулятор и калькулятор с парсингом
Ребят я совсем не давно только начал изучать сишку, решил написать простенький калькулятор который...

Калькулятор
Пишу калькулятор. Прошу помощи. Вот мой код #include &lt;iostream&gt; #include &lt;locale.h&gt; #include...

Калькулятор
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace...

28
17.08.2011, 21:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2011, 21:04
Помогаю со студенческими работами здесь

Калькулятор
В идеале, то что представлено ниже является калькулятором с 4-мя действиями (+,-,*,/) и с...

Калькулятор в С++
Ребята, у кого есть код калькулятора, киньте пожалуйста. Буду очень благодарен.

Калькулятор
Доброго времени суток, Народ! Помогите плиз с задачей. Нужен исходник калькулятора, самого...

Калькулятор
Подскажите, что мне сделать с операндом Result чтобы функция main запускалась заново после того как...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru