Форум программистов, компьютерный форум CyberForum.ru

Вычисление текстовой формулы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти все натуральные числа от 1 до n, суммы квадратов цифр которых равна самому числу http://www.cyberforum.ru/cpp-beginners/thread693960.html
Найти все натуральные числа от 1 до n, сумма квадратов цифр которых равна самому числу Помогите пожалуйста,или проверьте) #include <iostream> #include <conio.h> #include <math.h> using namespace std; int sum(int c); {int s=0; while c>=1 do s=s+sqr(c fmod 10);
C++ Dev-C++ нашёл ошибку и не компилит( Здравствуйте. Я пишу всем известную игру Х/О. И я застрял в начале пути из-за того что не могу оприделить ошибку которую мне выдяёт компилятор Dev-C++, конечно легче скачать с интернета чьюто работу и здать, но так ни знаний ни опыта программирования не прибавится. Буду признателен если ктонибудь подскажет в чём тут проблема. P.S если соображу раньше напишу)). #include <iostream> #include... http://www.cyberforum.ru/cpp-beginners/thread693956.html
C++ Не могу создать массив из слов
У меня есть путь к файлу который я задаю с консольки, мне надо его преобразовать в обратный типо: ( C:\PP\x.com в x.com\pp\c: ) через strtok я его разбил на под части а вот как , эти части записать в массив слов чтоб сделать реверс я не знаю( #include <stdio.h> #include <string.h> #include <conio.h> #include <fstream> using namespace std; int main(int argc, char * argv)
Переписать текстовый файл удалив строчку в которой стоит знак "?" C++
Имеется предварительно созданный текстовый файл. Удалить из него строку, в которой стоит вопросительный знак и результат (т.е. все строки кроме этой) записать в другой файл. #include <stdio.h> #include <conio.h> #include <string.h> void main () { clrscr(); int i; int a=0; int z=0;
C++ Редактирование реестра (файл реестра) http://www.cyberforum.ru/cpp-beginners/thread693932.html
Есть файл реестра, скажем C:\\file.reg. Нужно из программы на C++ отредактировать реестр с помощью этого файла, но так, чтобы при этом не появлялось предупреждение о внесении изменений в реестр. Извините за глупые вопросы, действительно очень плохо разбираюсь в WinAPI) Заранее спасибо за помощь)
C++ Из файла считать строку с пробелами Нужно, чтобы из файла считывалась строка, проблема в том, что в ней есть пробелы... можно как-нибудь считать строку с пробелами? Заранее спасибо) подробнее

Показать сообщение отдельно
igorrr37
 Аватар для igorrr37
1599 / 1227 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 7
10.11.2012, 22:34     Вычисление текстовой формулы
а попробуй такую штуку
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
#include <iostream>
#include <string>
#include <cctype>
#include <list>
#include <utility>
 
class Parser
{
public:
    Parser(){}
    void Parse(std::string const& s)
    {
        list.clear();
        let.clear();
        dig.clear();
        state = Base;
        for(std::string::const_iterator cib = s.begin(), cie = s.end(); cib != cie; ++cib)
        {
            if(isalpha(*cib) && isupper(*cib))
            {
                switch(state)
                {
                    case Dig:
                        Dump();
                        state = Base;
                        break;
                    default:
                        state = Let;
                        break;
                }
                Collect(*cib);
            }
            else if(isdigit(*cib))
            {
                if(Let == state)
                {
                    state = Dig;
                }
                Collect(*cib);
            }
            else
            {
                if(Dig == state)
                    Dump();
                state = Base;
            }
        }
        if(Dig == state)
            Dump();
    }
    typedef std::list<std::pair<std::string, std::string> >::const_iterator const_iterator;
    const_iterator begin() const
    {
        return list.cbegin();
    }
    const_iterator end() const
    {
        return list.cend();
    }
private:
    enum State{Base = 0, Let = 1, Dig = 2};
    State state;
    std::list<std::pair<std::string, std::string> > list;
    std::string let, dig;
    void Collect(char c)
    {
        if(isdigit(c))
            dig += c;
        else if(isalpha(c) && isupper(c))
            let += c;
    }
    void Dump()
    {
        list.push_back(std::make_pair(let, dig));
        let.clear();
        dig.clear();
    }
};
 
int main()
{
    Parser p;
    p.Parse("=C1+AC234/A1-C51");
    for(Parser::const_iterator ib = p.begin(), ie = p.end(); ib != ie; ++ib)
    {
        std::cout << ib->first << ' ' << ib->second << std::endl;
    }
    return 0;
}
 
Текущее время: 14:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru