Форум программистов, компьютерный форум 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
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
23.12.2012, 19:07
Цитата Сообщение от VanUliK Посмотреть сообщение
мне хотя бы это сделать без минимизации
На самом деле и из рисунка видно, что состояния SR и SRZ можно склеить.
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
/////////////////////////////////////////////////////////////////////////////////////////
#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()
    {
        state_for_state_and_symbol_[ T_state_and_symbol( START_STATE,   'a'     )     ]   =   aa_STATE;
 
        state_for_state_and_symbol_[ T_state_and_symbol( aa_STATE,      'a'     )     ]   =   aa_STATE;
        state_for_state_and_symbol_[ T_state_and_symbol( aa_STATE,      'b'     )     ]   =   aabb_STATE;
 
        state_for_state_and_symbol_[ T_state_and_symbol( aabb_STATE,    'a'     )     ]   =   aabba_FINISH_STATE;
        state_for_state_and_symbol_[ T_state_and_symbol( aabb_STATE,    'b'     )     ]   =   aabb_STATE;
    }
    //--------------------------------------------------------------------------------
    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;
    }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru