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

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

Войти
Регистрация
Восстановить пароль
 
MODifikaTOR18
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 80
Завершенные тесты: 1
#1

Расшифровка Морзе - C++

26.05.2016, 07:17. Просмотров 258. Ответов 3
Метки нет (Все метки)

Делаю шифрование азбукой Морзе. Зашифровка готова, а вот с расшифровкой проблема: процесс зацикливается бесконечное число раз, а найти ошибку не могу. Может вы поможете?

Добавлено через 1 минуту
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
void __fastcall TForm1::Button2Click(TObject *Sender)
{String te;
 Memo1->Clear();
 int g;
 for (int i=1; i<=Memo2->Lines->Count; i++)
 {so=Memo2->Lines->Strings[i-1];
  for (int o=1; o<=so.Length(); o++)
  {for (int k=1; k<=so.Length(); k++)
   {if (so[k]==' ' && so[k+1]==' ')
     {g=k;
      break;}
    else te+=so[k];
    }
   o=g;
   if (te==".-") text+='а';
   if (te=="-...") text+='б';
   if (te==".--") text+='в';
   if (te=="--.") text+='г';
   if (te=="-..") text+='д';
   if (te==".") text+='е';
   if (te==".") text+='ё';
   if (te=="...-") text+='ж';
   if (te=="--..") text+='з';
   if (te=="..") text+='и';
   if (te==".---") text+='й';
   if (te=="-.-") text+='к';
   if (te==".-..") text+='л';
   if (te=="--") text+='м';
   if (te=="-.") text+='н';
   if (te=="---") text+='о';
   if (te==".--.") text+='п';
   if (te==".-.") text+='р';
   if (te=="...") text+='с';
   if (te=="-") text+='т';
   if (te=="..-") text+='у';
   if (te=="..-.") text+='ф';
   if (te=="....") text+='х';
   if (te=="-.-.") text+='ц';
   if (te=="---.") text+='ч';
   if (te=="----") text+='ш';
   if (te=="---.") text+='щ';
   if (te=="-..-") text+='ь';
   if (te=="-..-") text+='ъ';
   if (te=="-.--") text+='ы';
   if (te=="..-..") text+='э';
   if (te=="..--") text+='ю';
   if (te==".-.-") text+='я';
   if (te==".----") text+='1';
   if (te=="..---") text+='2';
   if (te=="...--") text+='3';
   if (te=="....-") text+='4';
   if (te==".....") text+='5';
   if (te=="-....") text+='6';
   if (te=="--...") text+='7';
   if (te=="---..") text+='8';
   if (te=="----.") text+='9';
   if (te=="-----") text+='0';
   if (te=="...... ") text+='.';
   if (te==".-.-.-") text+=',';
   if (te=="-.-.-.") text+=';';
   if (te=="---...") text+=':';
   if (te=="..--..") text+='?';
   if (te=="--..--") text+='!';
   if (te=="-....-") text+='-';
   if (te==".-..-.") text+='"';
   if (te=="----..-") text+=' ';
   }
  Memo1->Lines->Add(text);
  text="";
  te="";
  }
}
Добавлено через 39 секунд
Знаю, громоздко и быдлокод Как его компактнее переделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2016, 07:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Расшифровка Морзе (C++):

Азбука Морзе - C++
Есть код для шифрования символов в Азбуку Морзе,но нужно что б эта программа также могла считывать текст с документа к примеру .txt и...

Морзе в текст - C++
Добрый день вот такая незадача, надо из морзе кинуть в текст...начинали делать из текста в морзе вроде вышло #include&lt;iostream&gt; ...

Азбука Морзе, со звуками - C++
Как создать звук с помощью С++?

Азбука Морзе, декодирование - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; void convert (char); int main(){ char eng; cin.getline...

Курсовая по азбуке Морзе на С++ - C++
Помогите пожалуйста решить!!!!!нужно написать программу, которая считывает текст из файла, выводит его в этом виде на экран, переводит его...

Азбука Морзе, программа-телеграф - C++
программа-телеграф, которая принимает от пользователя сообщение и выводит его на экран в виде последова-тельности точек и тире. Вывод точек...

3
nmcf
5324 / 4644 / 1553
Регистрация: 14.04.2014
Сообщений: 18,479
26.05.2016, 08:28 #2
Раздели по пробелу на подстроки и сравнивай. А константы - в массив.
0
MODifikaTOR18
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 80
Завершенные тесты: 1
26.05.2016, 09:05  [ТС] #3
nmcf, а можно поподробнее?
0
Renji
1925 / 1323 / 298
Регистрация: 05.06.2014
Сообщений: 3,808
26.05.2016, 11:06 #4
Дальше сами.
C++
1
2
3
4
5
    static const std::map<std::string,std::string>dict{{"...","S"},{"---","O"}};
    std::stringstream stream("... --- ...");
    std::string code;
    while(stream>>code)
        std::cout<<dict.at(code);
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2016, 11:06
Привет! Вот еще темы с ответами:

Открытие файла. Азбука морзе - C++
Добрый вечер! Хотел обратиться к вам за помощью. Нужно составить программу, которая позволяет текст, содержащийся в файле, воспроизвести...

Написать программу - Азбука Морзе - C++
Написать программу на языке С++ Код Азбуки Морзе, отправьте Код написанной программы на мою почту

Азбука Морзе, нужны комментарии к программе - C++
Доброго времени суток нашел хороший код на с++ по переводу сообщения в азбуку морзе и обратно. Но к сожалению не понимаю как он меняет...

Азбука Морзе, вывод в одну строку - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; void convert (char); int main(){ char eng; cin &gt;&gt; eng; ...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
26.05.2016, 11:06
Ответ Создать тему
Опции темы

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