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

Преобразуйте КА к детерминированному виду и минимизируйте полученный КА - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа,считающая определители матриц http://www.cyberforum.ru/cpp-beginners/thread729894.html
Помогите написать программу, считающую определить матрицы методом гаусса. Заранее спасибо.
C++ Как расширить работоспособность программы Подскажите пожалуйста как сделать так чтобы программа работала при бОльших значениях...Вот у меня имеется программа для рекурсивного умножения матриц..Но она считает значения только для размера не больше тридцати двух.Далее отказывается компилировать Как сделать так,чтобы она умножала матрицы огромного размера(например 1024х1024)?Прикладываю код: #include "stdafx.h" #include <iostream>... http://www.cyberforum.ru/cpp-beginners/thread729886.html
C++ Описать логическую функцию validRow(r)
Описать логическую функцию validRow(r), которая проверяет, правильно ли выставлены кости домино в ряду r (равна ли правая цифра очередной кости левой цифре следующей кости). в общем я тут наваял, а в функции засунуть не получается, не понимаю их,надо просто кусок кода перенести в нее))#include <iostream> #include <windows.h> #include<conio.h> using namespace std; int main()
linker error C++
есть описание класса #ifndef bulka_h #define bulka_h using namespace std; class bulka { private: static int bulka::kol_bulok;
C++ Найти длину самого короткого и самого длинного слова, а также сами эти слова http://www.cyberforum.ru/cpp-beginners/thread729866.html
Народ, помогите, пожалуйста, как мне написать код в с++ програмки, в которой дана строка, состоящая из слов, разделенных пробелами (одним или несколькими). Найти длину самого короткого и самого длинного слова, а также сами эти слова.
C++ Убрать переход на новую строку после "cin" Хотелось бы убрать переход на новую строку после "cin". когда использую cin>>n; после ввода, в консоли автоматически идет переход на новую строку. Возможно ли как то убрать его операциями из стандартной библиотеки подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2807 / 1583 / 248
Регистрация: 03.05.2010
Сообщений: 3,696
24.12.2012, 09:25     Преобразуйте КА к детерминированному виду и минимизируйте полученный КА
Цитата Сообщение от VanUliK Посмотреть сообщение
не совсем понял
Сделал заполнение переходов более читаемым:
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
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <utility>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_str;
/////////////////////////////////////////////////////////////////////////////////////////
class T_FSM_aabba
{
    enum T_state
    {
        START_STATE,
        aa_STATE,
        aabb_STATE,
        aabba_FINISH_STATE
    };
    //-----------------------------------------------------------------------------------
    typedef std::set    < T_state   >                           T_states;
    typedef char                                                T_symbol;
    typedef std::set    < T_symbol  >                           T_symbols;
    typedef std::pair   < T_state,              T_symbol    >   T_state_and_symbol;
    typedef std::map    < T_state_and_symbol,   T_state     >   T_state_for_state_and_symbol;
    //-----------------------------------------------------------------------------------
    T_symbols                       alphabet_;
    T_state_for_state_and_symbol    state_for_state_and_symbol_;
    T_states                        accept_states_;
    T_state                         cur_state_;
    //--------------------------------------------------------------------------------
public:
    T_FSM_aabba()
        :
        cur_state_( START_STATE )
    {
        fill_alphabet                       ();
        fill_state_for_state_and_symbol     ();
        fill_accept_states                  ();
    }
    //--------------------------------------------------------------------------------
    bool  string_is_good(const T_str&  s)
    {
        for (
                T_str::const_iterator
                symb_it     =   s.begin     ();
                symb_it     !=  s.end       ();
                ++symb_it
            )
        {
            if  (
                    alphabet_.count( *symb_it ) == 0
                )
            {
                std::cout   <<  "Недопустимый символ во входной строке!"
                            <<  std::endl;
 
                return  false;
            }//if
 
            cur_state_   =   state_for_state_and_symbol_
                                [
                                    T_state_and_symbol
                                        (
                                            cur_state_,
                                            *symb_it
                                        )
                                ];
        }//for
 
        return  accept_states_.count( cur_state_ )  !=  0;
    }
    //--------------------------------------------------------------------------------
private:
    //--------------------------------------------------------------------------------
    void  fill_alphabet()
    {
        alphabet_.insert('a');
        alphabet_.insert('b');
    }
    //--------------------------------------------------------------------------------
    void  fill_state_for_state_and_symbol()
    {
        set_transition( START_STATE,    'a',    aa_STATE            );
 
        set_transition( aa_STATE,       'a',    aa_STATE            );
        set_transition( aa_STATE,       'b',    aabb_STATE          );
 
        set_transition( aabb_STATE,     'a',    aabba_FINISH_STATE  );
        set_transition( aabb_STATE,     'b',    aabb_STATE          );
    }
    //--------------------------------------------------------------------------------
    void  set_transition
        ( 
            T_state     state_from,
            T_symbol    symbol,
            T_state     state_to
        )
    {
        state_for_state_and_symbol_
            [ 
                T_state_and_symbol
                    (
                        state_from,
                        symbol
                    )
            ]
            =   state_to;
    }
    //--------------------------------------------------------------------------------
    void  fill_accept_states()
    {
        accept_states_.insert( aabba_FINISH_STATE );
    }
    //--------------------------------------------------------------------------------
};
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    for(;;)
    {
        std::cout   <<  "Введите строку для проверки:"
                    <<  std::endl;
 
        T_str   s;
        std::cin    >>  s;
 
        T_FSM_aabba     FSM_aabba;
        std::cout   <<  "Строка "
                    <<  (
                            FSM_aabba.string_is_good(s) 
                                ?   ""
                                :   "НЕ "
                        )
 
                    <<  "допускается."
                    <<  std::endl
                    <<  std::endl
                    <<  std::endl
                    <<  std::endl;
    }
}
 
Текущее время: 11:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru