Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 12.03.2014
Сообщений: 11

Асинхронные автоматы

05.05.2014, 19:13. Показов 982. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят помогите найти ошибку в коде.
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
 AnsiString Anssinhr1(AnsiString S)
  { enum conditions {A,B};
  conditions sit=A;
        AnsiString T="";
  while (!S.IsEmpty())
  { switch (sit)
  { case A :
  {if(S[1]=='0') T=T+"001";
        else
        if(S.Length()>1)
        {String sub=S.SubString(1,2);
        if(sub=="11") T=T+"1"; else
        if(sub=="100") T=T+"0"; else
         if(sub=="101") T=T+"01";
         sit=B;} }
         break; }
 
 case B:
 {if(S[1]=='0') T=T+"1";sit=A;}
 else T=T+"10";
 break;}
 }
 }
 return T;
 }
 
 
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{ AnsiString S=Edit1->Text;
 Edit1->Text=Anssinhr1(S); }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.05.2014, 19:13
Ответы с готовыми решениями:

Конечные автоматы
есть код для вычисления количества строк в тексте, все вроде ок, но при нажатии на кнопку выдает ошибку ThrowIfOutOfRange(idx); //...

Автоматы синхронные и асинхонные
Синхронный автомат программы не запускаются. по мойму я что-то с дужками напутала. помогите пожалуйсто довести её до робочего...

Литература. Синхронные и асинхронные автоматы
Поделитесь пожалуйста литературой. Необходимо написать программу работы синхронного автомата, и еще асинхронного, в c++ к понедельнику, а я...

4
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
06.05.2014, 00:18
прошу прощения, но хрень какая то ..все вперемешку..но вопрос был найти ошибку...достаточно было только причесать код

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
AnsiString Anssinhr1(AnsiString S)
  {
  enum conditions {A,B};
  conditions sit=A;
   AnsiString T="";
  while (!S.IsEmpty())
  {
   switch (sit)
 
  {
   case A :
            if(S[1]=='0') T=T+"001";
           else
            if(S.Length()>1)
             {
             String sub=S.SubString(1,2);
             if(sub=="11") T=T+"1"; else
            if(sub=="100") T=T+"0"; else
           if(sub=="101") T=T+"01";
           sit=B;
           }
         break;
 
 case B:
    if(S[1]=='0')
      {
        T=T+"1";
        sit=A;
       }
        else
         T=T+"10";
 
 break;
 
 
 }
 }
 
 return T;
0
0 / 0 / 0
Регистрация: 12.03.2014
Сообщений: 11
12.05.2014, 20:04  [ТС]
вот что получилось,но оно считает бред.
помогите дороботать
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
String Assinhr1(String S)
 
{
enum conditions {A,B};
conditions sit=A;
String T="";
while (!S.IsEmpty())
switch (sit)
{
case A:
{
if(S[1]=='0') T=T+"001";
else
if(S.Length()>1)
{
String sub=S.SubString(1,2);
if(sub=="11") T=T+'1';
else
if(sub=="100") T=T+'0';
else
if(sub=="101") T=T+"01";
sit=B;
}
if((S[1]=='2')&&(S.Length()>=1))S.Delete(1,2);
else S.Delete(1,1);
break;
}
 
case B:
{
if(S[1]=='0')
T=T+"10";
else if(S[1]=='1') {T=T+' ';sit=A;}
S.Delete(1,1);
break;
}
}
return T;
}
 
 
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String s=LabeledEdit1->Text;
LabeledEdit2->Text=Assinhr1(s);
}
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
13.05.2014, 16:15
Доработать что? Ты хоть расскажи, чего код делать должен. И поподробнее, не стесняйся.
0
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 594
13.05.2014, 17:25
- nick14, вот, что получилось у меня:
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
// .........
AnsiString  Anssinhr1( AnsiString   S )
{
    //--------------------------------------------------------------------------
    enum    conditions
    {
        A,  // .........
        B   // .........
    };
    //--------------------------------------------------------------------------
    conditions  cond = A;
 
    AnsiString  T = "";
    while ( !S.IsEmpty() )
    {
        switch ( cond )
        {
            case    A:
            {
                if ( S[1] == '0' )
                    T = T + "001";
                else if ( S.Length() > 1 )
                {
                    String  sub = S.SubString( 1, 2 );
                    if ( sub == "11" )  T = T + "1";
                    else if ( sub == "100" )    T = T + "0";
                    else if ( sub == "101" )    T = T + "01";
                    cond = B;
                }
            }
            break;
//-     }   //(*** закрыл я. ***)
 
            case    B:
            {
                if ( S[1] == '0' )  T = T + "1";
                else    T = T + "10";   //(*** перенес я. ***)
                cond = A;
            }
            break;
 
        }//(switch)
//(ЗДЕСЬ, ВИДИМО, НАДО УДАЛИТЬ В СТРОКЕ S ПЕРВЫЙ СИМВОЛ!
// ИНАЧЕ СТРОКА S БУДЕТ ОСТАВАТЬСЯ ОДНОЙ ДЛИННЫ И ОПЕРАТОР while - БУДЕТ ВИСЕТЬ ВЕЧНО!)
//S.;
    }//(while)
//-}    //(*** закрыл я. ***)
    // .........
    return  T;
}
//==============================================================================
 
 
//##### ..... #####
// конструктор.
__fastcall  TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
  Edit1->Text = "100110";  // пробная строка.
}
- Убрал две лишние закрывающие фигурные скобки и перенес один оператор, но это конечно по наитию,
т.к. совсем не знаю, что за автомат у Вас ... Лучше форматируйте код, тогда значительно легче будет искать
ошибки. Например лишние скобки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2014, 17:25
Помогаю со студенческими работами здесь

Асинхронные контроллеры
Не совсем понимаю как работают асинхронные контроллеры в ASP.NET MVC. Допустим есть два action method-а. Один синхронный второй...

Асинхронные операции
Console.WriteLine("Some code"); using (var fs = new System.IO.FileStream("File.txt", System.IO.FileMode.Open)) ...

Асинхронные делегаты
Здравствуйте ! Подскажите пожалуйста, (программа рабочая ) для чего в методе public bool Factorize строки : if (m1 ==...

Асинхронные сокеты
Здравствуйте. Очень нужна ваша помощь. Вот callback функция которая передается в метод асинхронного чтения сокета BeginReceive: ...

Асинхронные операции
Всем привет, имею следующий вопрос. Допустим, есть форма или JFrame, на которой есть кнопка и прогрессбар. При нажатии на кнопку...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru