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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Neotwalker
21 / 1 / 0
Регистрация: 22.12.2013
Сообщений: 137
#1

Формула, по которой можно вычислить время наступления Рагнарека - C++

22.07.2014, 18:56. Просмотров 1420. Ответов 27
Метки нет (Все метки)

Рагнарек должен наступить с минуты на минуту. Но Один не знает, когда именно он наступит.
Локи, как самый умный, сказал Одину формулу, по которой можно вычислить время наступления Рагнарека. К сожалению, Одину с одним глазом сложно уследить за всеми скобками в выражении, поэтому он решил заменить скобки первого уровня на фигурные, а второго уровня – на квадратные, остальные же оставить круглыми. То есть выражение x * (y + (z * (5 + 3))) изменится на x * {y + [z * (5 + 3)]}.
Но Один не умеет программировать, Один умеет драться, поэтому программу придется написать вам. Не гневите Одина.
В первой и единственной строке входного файла указана формула, состоящая из букв латинского алфавита, знаков арифметических действий, пробелов, цифр и скобок. Гарантируется, что скобки образуют правильную скобочную последовательность. Длина формулы не превышает 105.
Выведите эту строку в формате удобном для чтения Одину.

Пример ввода 1

x * (y + (z * (5 + 3)))

Пример вывода 1

x * {y + [z * (5 + 3)]}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2014, 18:56     Формула, по которой можно вычислить время наступления Рагнарека
Посмотрите здесь:
В текстовом файле записана формула. Вычислить значение данной формулы C++
Как создать Программу с которой можно будет поговорить C++
C++ Приостановить выполнение функции до наступления определённого момента времени
C++ Напишите программу, при помощи которой можно рассчитать доход по вкладу
C++ Можно ли ввести своё время в формате hh:mm:ss?
За какое время можно досканально изучить C++ C++
Составить программу, в которой можно ввести данные из предметной области и получить определенную информацию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gru74ik
Модератор
Эксперт CЭксперт С++
4106 / 1751 / 197
Регистрация: 20.02.2013
Сообщений: 4,857
Записей в блоге: 21
22.07.2014, 20:01     Формула, по которой можно вычислить время наступления Рагнарека #2
Вообще-то, Один - Бог мудрости и тайного знания (магии). За эти знания он в своё время и пожертвовал глаз, если мне не изменяет память. И уж кому как не Одину уметь программировать! )))
А драться все асы были не дураки, но особенно в этом отличились Тор и Один, да.
Psilon
Master of Orion
Эксперт .NET
5882 / 4779 / 633
Регистрация: 10.07.2011
Сообщений: 14,399
Записей в блоге: 5
Завершенные тесты: 4
22.07.2014, 20:58     Формула, по которой можно вычислить время наступления Рагнарека #3
std::string::find + std::string::find_last_of по 2 раза, std::string::replace 4 раза
Бендерродригез
22.07.2014, 21:04
  #4

Не по теме:

Цитата Сообщение от gru74ik Посмотреть сообщение
Вообще-то, Один - Бог мудрости и тайного знания (магии). За эти знания он в своё время и пожертвовал глаз, если мне не изменяет память. И уж кому как не Одину уметь программировать! )))
А драться все асы были не дураки, но особенно в этом отличились Тор и Один, да.
Таки кроме того, Локи скорее был хитрозадый, чем самый умный.

gru74ik
Модератор
Эксперт CЭксперт С++
4106 / 1751 / 197
Регистрация: 20.02.2013
Сообщений: 4,857
Записей в блоге: 21
22.07.2014, 22:04     Формула, по которой можно вычислить время наступления Рагнарека #5
Чё-то у меня скобки как-то в конце не так расставляются:
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
117
118
/// [url]http://www.cyberforum.ru/cpp-beginners/thread1232196.html[/url]
/*
Рагнарек должен наступить с минуты на минуту. Но Один не знает,
когда именно он наступит. Локи, как самый умный, сказал Одину
формулу, по которой можно вычислить время наступления Рагнарека.
К сожалению, Одину с одним глазом сложно уследить за всеми
скобками в выражении, поэтому он решил заменить скобки первого
уровня на фигурные, а второго уровня – на квадратные, остальные
же оставить круглыми. То есть выражение x * (y + (z * (5 + 3)))
изменится на x * {y + [z * (5 + 3)]}. Но Один не умеет
программировать, Один умеет драться, поэтому программу придется
написать вам. Не гневите Одина.
В первой и единственной строке входного файла указана формула,
состоящая из букв латинского алфавита, знаков арифметических
действий, пробелов, цифр и скобок. Гарантируется, что скобки
образуют правильную скобочную последовательность. Длина формулы
не превышает 105. Выведите эту строку в формате удобном для
чтения Одину.
 
Пример ввода 1:
x * (y + (z * (5 + 3)))
 
Пример вывода 1:
x * {y + [z * (5 + 3)]}
 
*/
 
#include <iostream>     // для ввода-вывода
#include <windows.h>    // для отображения русского языка
#include <string>       // для строк класса string
#include <fstream>      // для чтения из файла
#include <ostream>      // для вывода в файл
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string formula;
    cout << "\nВведите формулу. Введённые Вами данные будут "
            "сохранены в файл ragnarok.txt.\n";
    getline(cin, formula);
    ofstream fout;
    fout.open("ragnarok.txt");
    fout << formula << endl;
    fout.close ();
    cout << "\nФормула сохранена в файл ragnarok.txt.\n" << endl;
    cout << "\nИдёт преобразование формулы.\n" << endl;
    for (int i=0; i<20; i++)
    {
        Sleep(300);
        cout << "*";
    }
    cout << endl;
 
    ifstream fin;
    fin.open("ragnarok.txt");
    getline(fin, formula);
 
    int i=0;
    int size = formula.length();
    while (i<size)
    {
        if(formula[i]=='(')
        {
            formula[i]='{';
            break;
        }
        ++i;
 
    }
    while (i<size)
    {
        if(formula[i]=='(')
        {
            formula[i]='[';
            break;
        }
        ++i;
 
    }
    while (i<size)
    {
        if(formula[i]==')')
        {
            formula[i]=')';
            break;
        }
        ++i;
 
    }
    while (i<size)
    {
        if(formula[i]==')')
        {
            formula[i]=']';
            break;
        }
        ++i;
 
    }
    while (i<size)
    {
        if(formula[i]==')')
        {
            formula[i]='}';
            break;
        }
        ++i;
    }
    cout << "Теперь Один может прочитать формулу:" << endl;
    for (int i=0; i<size; i++)
    {
        cout << formula[i];
    }
    return 0;
}
Psilon
Master of Orion
Эксперт .NET
5882 / 4779 / 633
Регистрация: 10.07.2011
Сообщений: 14,399
Записей в блоге: 5
Завершенные тесты: 4
22.07.2014, 23:27     Формула, по которой можно вычислить время наступления Рагнарека #6
Имхо так проще
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
 
 
using namespace std;
 
void replace(string &s, char first, char last)
{
    size_t firstIndex = s.find_first_of('(');
    size_t lastIndex = s.find_last_of(')');
    s[firstIndex] = first;
    s[lastIndex] = last;
}
 
int main()
{
    string s = "x * (y + (z * (5 + 3)))";
    replace(s, '{', '}');
    replace(s, '[', ']');
    cout << s;
}
Sergio Leone
2454 / 1099 / 402
Регистрация: 07.06.2014
Сообщений: 3,259
22.07.2014, 23:55     Формула, по которой можно вычислить время наступления Рагнарека #7
Psilon, а Вы не путаете уровень скобок (читай "вложенность" ) и нумерацию (порядковый) скобок в выражени?

попробуйте на таком контрпримере:
A + (B * ((C + D) + (N+K))) * (A + B) * (D * (B - (C + (E+K))))
Mr.X
Эксперт С++
3048 / 1693 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
23.07.2014, 08:14     Формула, по которой можно вычислить время наступления Рагнарека #8
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
/////////////////////////////////////////////////////////////////////////////////////////
//Рагнарек должен наступить с минуты на минуту. Но Один не знает, когда именно он наступит.
//Локи, как самый умный, сказал Одину формулу, по которой можно вычислить время наступления 
//Рагнарека. К сожалению, Одину с одним глазом сложно уследить за всеми скобками в выражении, 
//поэтому он решил заменить скобки первого уровня на фигурные, а второго уровня – на квадратные, 
//остальные же оставить круглыми. То есть выражение x * (y + (z * (5 + 3))) изменится 
//на x * {y + [z * (5 + 3)]}.
//Но Один не умеет программировать, Один умеет драться, поэтому программу придется написать вам. 
//Не гневите Одина.
//В первой и единственной строке входного файла указана формула, состоящая из букв латинского 
//алфавита, знаков арифметических действий, пробелов, цифр и скобок. Гарантируется, что скобки 
//образуют правильную скобочную последовательность. Длина формулы не превышает 105.
//Выведите эту строку в формате удобном для чтения Одину.
//
//Пример ввода 1
//
//x * (y + (z * (5 + 3)))
//
//Пример вывода 1
//
//x * {y + [z * (5 + 3)]}
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <stack>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
char    const   LEFT_ROUND_BRACKET      =   '(';
char    const   RIGHT_ROUND_BRACKET     =   ')';
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string     T_str;
/////////////////////////////////////////////////////////////////////////////////////////
T_str   get_rand_str_with_round_brackets()
{
    static  unsigned    const   LINE_LEN_MIN_MIN    =   3;
    static  unsigned    const   LINE_LEN_MIN        =   30;
    static  unsigned    const   LINE_LEN_MAX        =   80;
 
    T_str   res_str;
    int     level       =   0;
    char    cur_symb    =   0;
 
    do
    {
        res_str.clear();
        for(;;)
        {
            if  (
                    level == 0
                )
            {
                if  (
                        res_str.size()  >   (
                                                rand() % 2
                                                    ?   LINE_LEN_MIN_MIN
                                                    :   LINE_LEN_MIN
                                            )
                    )
                {
                    break;
                }
 
                ++level;
                cur_symb    =   LEFT_ROUND_BRACKET;
            }
            else
            {
                if  (
                        rand() % 2
                    )
                {
                    ++level;
                    cur_symb = LEFT_ROUND_BRACKET;
                }
                else
                {
                    --level;
                    cur_symb = RIGHT_ROUND_BRACKET;
                }
            }//else
 
            res_str.push_back( cur_symb );
        }//for
    }
    while   (
                res_str.size() > LINE_LEN_MAX
            );
 
    return  res_str;
}
/////////////////////////////////////////////////////////////////////////////////////////
struct  T_replace_bracket
{
    //-----------------------------------------------------------------------------------
    static  int     const   LEVEL_MAX   =   3;
    //-----------------------------------------------------------------------------------
    int     level_;
    //-----------------------------------------------------------------------------------
    T_replace_bracket()
        :
        level_()
    {}
    //-----------------------------------------------------------------------------------
    char    operator()  ( char  &   symb )
    {
        static  T_str   const   BRACKETS    =   "**{}[]()";
        char                    res_symb    =   0;
 
        switch( symb )
        {
        case    LEFT_ROUND_BRACKET:
            ++level_;
 
            res_symb    =   BRACKETS
                                [
                                    ind_of_level( level_ ) * 2
                                ];
            break;
 
        case    RIGHT_ROUND_BRACKET:
 
            res_symb    =   BRACKETS
                                [
                                    ind_of_level( level_ ) * 2 + 1
                                ];
 
            --level_;
            break;
 
        default:
            res_symb    =   symb;
        }//switch
 
        return  res_symb;
    }
    //-----------------------------------------------------------------------------------
    int     ind_of_level( int   level )
    {
        return  level > LEVEL_MAX
                    ?   LEVEL_MAX
                    :   level;
    }
    //-----------------------------------------------------------------------------------
};
/////////////////////////////////////////////////////////////////////////////////////////
void    transform_brackets( T_str   &   formula )
{
    std::transform
        (
            formula.begin       (),
            formula.end         (),
            formula.begin       (),
            T_replace_bracket   ()
        );
}
/////////////////////////////////////////////////////////////////////////////////////////
int     main()
{
    srand(unsigned(time(0)));
    T_str   const   formula_const       =   "A + (B * ((C + D) + (N+K))) * (A + B) * (D * (B - (C + (E+K))))";
    T_str   const   formula_const_1     =   "x * (y + (z * (5 + 3)))";
 
    for(;;)
    {
        T_str   formula     =   rand() % 2
                                    ?   get_rand_str_with_round_brackets()
                                    :   rand() % 2
                                            ?   formula_const
                                            :   formula_const_1;
 
        std::cout   <<  std::endl
                    <<  formula
                    <<  std::endl;
 
        transform_brackets( formula );
        std::cout   <<  formula
                    <<  std::endl;
 
        system("pause");
    }//for
}
Vtulhu
369 / 375 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
23.07.2014, 08:54     Формула, по которой можно вычислить время наступления Рагнарека #9
Один я не понимаю, что и зачем вы там навертели в такой простой задаче? Видимо, изучение С++ необратимо захламляет мозг ООПом и прочими высокими абстракциями...
Задачка-то чисто алгоритмическая, хоть на С++, хоть на C#, хоть на Паскале решается по одному принципу. Главное - продумать принцип. Для этого достаточно блокнота (бумажного).

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
#include "greatest.h"
 
void brackets(char* str)
{
    const char left[] = { '{', '[', '(' };
    const char right[] = { '}', ']', ')' };
    int i = -1;
    while( *str ) {
        if( *str == '(' ) {
            if( ++i == 3 ) { i = 0; }
            *str = left[i];
        } else if( *str == ')' ) {
            *str = right[i];
            if( --i == -1 ) { i = 2; }
        }
        ++str;
    }
}
 
TEST brackets_1()
{
    char s[] = "()";
    brackets(s);
    ASSERT_STR_EQ(s, "{}");
    PASS();
}
 
TEST brackets_2()
{
    char s[] = "(())";
    brackets(s);
    ASSERT_STR_EQ(s, "{[]}");
    PASS();
}
 
TEST brackets_3()
{
    char s[] = "((()))";
    brackets(s);
    ASSERT_STR_EQ(s, "{[()]}");
    PASS();
}
 
TEST brackets_4()
{
    char s[] = "(((())))";
    brackets(s);
    ASSERT_STR_EQ(s, "{[({})]}");
    PASS();
}
 
TEST brackets_5()
{
    char s[] = "x * (y + (z * (5 + 3)))";
    brackets(s);
    ASSERT_STR_EQ(s, "x * {y + [z * (5 + 3)]}");
    PASS();
}
 
TEST brackets_6()
{
    char s[] = "A + (B * ((C + D) + (N+K))) * (A + B) * (D * (B - (C + (E+K))))";
    brackets(s);
    ASSERT_STR_EQ(s, "A + {B * [(C + D) + (N+K)]} * {A + B} * {D * [B - (C + {E+K})]}");
    PASS();
}
 
SUITE(the_suite)
{
    RUN_TEST(brackets_1);
    RUN_TEST(brackets_2);
    RUN_TEST(brackets_3);
    RUN_TEST(brackets_4);
    RUN_TEST(brackets_5);
    RUN_TEST(brackets_6);
}
 
GREATEST_MAIN_DEFS();
 
int main(int argc, char **argv) {
    GREATEST_MAIN_BEGIN();      /* command-line arguments, initialization. */
    RUN_SUITE(the_suite);
    GREATEST_MAIN_END();        /* display results */
}
Код
C:\UTIL\tcc>tcc.exe -Wall -run brackets.c

* Suite the_suite:
......
6 tests - 6 pass, 0 fail, 0 skipped (1 ticks, 0.001 sec)

Total: 6 tests (15 ticks, 0.015 sec)
Pass: 6, fail: 0, skip: 0.
Psilon
Master of Orion
Эксперт .NET
5882 / 4779 / 633
Регистрация: 10.07.2011
Сообщений: 14,399
Записей в блоге: 5
Завершенные тесты: 4
23.07.2014, 09:14     Формула, по которой можно вычислить время наступления Рагнарека #10
Sergio Leone, okay, уговорили
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
#include <iostream>
#include <string>
 
 
using namespace std;
 
 
int main()
{
    string s = "A + (B * ((C + D) + (N+K))) * (A + B) * (D * (B - (C + (E+K))))";
    int level = 0;
    size_t i = 0;
    for (char c : s)
    {
        if (c == '(')
        {
            if (level < 2)
                s[i] = level ? '[' : '{';
            level++;
        }
        if (c == ')')
        {
            if (level <= 2)
                s[i] = level > 1 ? ']' : '}';
            level--;
        }       
        i++;
    }
    cout << s;
    return 0;
}
Добавлено через 2 минуты
Vtulhu, один я не понимаю, зачем вы пишете конструкции в таком стиле:
if( ++i == 3 ) { i = 0; }
вам не говорили, что одна строчка - один оператор? Тут их вообще 3, и если ++i == 3 это еще понятно, то вот i = 0 вообще не в кассу

Добавлено через 4 минуты
Vtulhu, и у вас ятп неправильно работать будет, например, на такой строке
C++
1
"A + (B * ((C + D) + (N+(K+(M+(N+T)))))) * (A + B) * (D * (B - (C + (E+K))))"
Судя по алгоритму вы просто сбрасываете счетчик, а это неправильно

Добавлено через 1 минуту
Mr.X, господи, 200 строк на элементарную задачу. У вас болезнь овер-инжинеринга
Vtulhu
369 / 375 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
23.07.2014, 09:33     Формула, по которой можно вычислить время наступления Рагнарека #11
Зачем regex? Зачем s.length? Зачем проверять символ на закрывающую скобку, даже если она открывающая?

И самое главное - неужели эта программа выдает правильный ответ? Еще раз напоминаю про блокнот (бумажный).
Правильный ответ должен быть такой: A + {B * [(C + D) + (N+K)]} * {A + B} * {D * [B - (C + {E+K})]}

Вот, прочтите статью, очень поучительно - http://habrahabr.ru/post/153225/

Добавлено через 9 минут
Цитата Сообщение от Psilon Посмотреть сообщение
вам не говорили, что одна строчка - один оператор?
Из любого правила есть исключения. Это, кстати, во многих коуд-гайдах прописано. Здесь вся строчка имеет один простой смысл, размазывать ее по строчкам - значит УХУДШАТЬ понимание. Впрочем, Вы и так, и эдак не поняли алгоритм (не только мой алгоритм, но и общий принцип, а может быть даже и ТЗ), судя по этому комментарию:

Цитата Сообщение от Psilon Посмотреть сообщение
Судя по алгоритму вы просто сбрасываете счетчик, а это неправильно
Сколько стоит блокнот? Выделите из бюджета семьи 50р. Зато Вы (и работодатель) себя через неделю не узнаете.
Psilon
Master of Orion
Эксперт .NET
5882 / 4779 / 633
Регистрация: 10.07.2011
Сообщений: 14,399
Записей в блоге: 5
Завершенные тесты: 4
23.07.2014, 09:56     Формула, по которой можно вычислить время наступления Рагнарека #12
Зачем regex? Зачем s.length?
думал сначала регэкспами пройтись, потом передумал. Они плохо иерархические структуры обрабатывают
Зачем проверять символ на закрывающую скобку, даже если она открывающая?
допишите перед вторым if else если вам проще. Конечно, косяк, но компиль за мной в любом случае подберет, так что не критично.
Цитата Сообщение от Vtulhu Посмотреть сообщение
И самое главное - неужели эта программа выдает правильный ответ? Еще раз напоминаю про блокнот (бумажный).
Правильный ответ должен быть такой: A + {B * [(C + D) + (N+K)]} * {A + B} * {D * [B - (C + {E+K})]}
это неправильный ответ как бы. Читаем ТЗ
первого уровня на фигурные, а второго уровня – на квадратные, остальные же оставить круглыми
и понимаем, что E+K должны быть круглыми, у вас - фигурные.

Цитата Сообщение от Vtulhu Посмотреть сообщение
Вот, прочтите статью, очень поучительно - http://habrahabr.ru/post/153225/
во-первых при чем тут это? Во-вторых я в любом случае не согласен с автором, что
паттерны опять провалились и ООП вместе с ним. А вот супер-функция на 100500 строк - это, оказывается, быстрая разработка.
далее
Из любого правила есть исключения. Это, кстати, во многих коуд-гайдах прописано.
разве что преподавателем младших курсов универа, который окромя паскаля и фортрана на Эльбрусах ничего и не знает.
Цитата Сообщение от Vtulhu Посмотреть сообщение
Сколько стоит блокнот? Выделите из бюджета семьи 50р. Зато Вы (и работодатель) себя через неделю не узнаете.
я бы понял иронию, если бы вы сами могли читать задание нормально. А так - жаль, жаль, мимо.
Martein
Оператор ЭВМ 6 разряда
673 / 84 / 13
Регистрация: 22.06.2014
Сообщений: 174
23.07.2014, 10:32     Формула, по которой можно вычислить время наступления Рагнарека #13
Для поиска разного рода вложенностей должна применяться рекурсия, имхо.
Psilon
Master of Orion
Эксперт .NET
5882 / 4779 / 633
Регистрация: 10.07.2011
Сообщений: 14,399
Записей в блоге: 5
Завершенные тесты: 4
23.07.2014, 10:51     Формула, по которой можно вычислить время наступления Рагнарека #14
Martein, тезис тьюринга-черча, в студию
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2014, 11:06     Формула, по которой можно вычислить время наступления Рагнарека
Еще ссылки по теме:
C++ Программа, с помощью которой можно вводить данные о жильцах а также реализовывать следующие функции:
C++ Для функции f(x), график которой представлен на рисунке. Вычислить F(a).
C++ Можно ли в С++ создать матрицу, строки которой имеют разный тип (например, 1-я строка - bool, 2-я - char)?
C++ Можно ли во время выполнения программы выполнить дополнительный код?
C++ Можно ли изменить иконку окна во время выполнения программы?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Martein
Оператор ЭВМ 6 разряда
673 / 84 / 13
Регистрация: 22.06.2014
Сообщений: 174
23.07.2014, 11:06     Формула, по которой можно вычислить время наступления Рагнарека #15
Цитата Сообщение от Psilon Посмотреть сообщение
Martein, тезис тьюринга-черча, в студию
А я совсем новичок, не понимаю про что вы говорите. Там про то, что всё вычислимое может быть вычислено рекурсией?
Yandex
Объявления
23.07.2014, 11:06     Формула, по которой можно вычислить время наступления Рагнарека
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru