0 / 0 / 1
Регистрация: 24.05.2016
Сообщений: 7
1

Морзянка (Азбука морзе) и ее перевод

08.06.2016, 19:49. Показов 1165. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Может кто помочь? Есть программа

Pascal
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
uses crt;
const
 
mrz:array[1..33] of string=
                 ('001','002','003','004','005','006','007','008',
                  '009','010','0111','012','013','014','015','016',
                  '017','018','019','020','021','022','023.','024.',
                  '025','026','028','029','030','031','032','033','000');
bk:string='АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ ';
var s,s1:string;
    i:byte;
    z,z1:string;
    iz:integer;
 
begin
writeln('Введите слово русскими буквами');
readln(s);
s:=Uppercase(s);
s1:='';
for i:=1 to length(s) do
s1:=s1+mrz[pos(s[i],bk)];
write(s1);
begin
writeln('Введите текст: ');
readln(z1);
z1:='';
for i:=1 to length(z) do
if z[ iz ]<>'001' then z1:=s1+z[ iz ] else z1:=z1+'---';
if z[ iz ]<>'002' then z1:=s1+z[ iz ] else z1:=z1+'cвu';
if z[ iz ]<>'003' then z1:=s1+z[ iz ] else z1:=z1+'cвu';
if z[ iz ]<>'004' then z1:=s1+z[ iz ] else z1:=z1+'cu';
if z[ iz ]<>'005' then z1:=s1+z[ iz ] else z1:=z1+'cu';
if z[ iz ]<>'006' then z1:=s1+z[ iz ] else z1:=z1+'---';
if z[ iz ]<>'007' then z1:=s1+z[ iz ] else z1:=z1+'cвu';
if z[ iz ]<>'008' then z1:=s1+z[ iz ] else z1:=z1+'cвu';
if z[ iz ]<>'009' then z1:=s1+z[ iz ] else z1:=z1+'cu';
if z[ iz ]<>'010' then z1:=s1+z[ iz ] else z1:=z1+'cu';
writeln(z1);
end;
end.
Первая ее часть то бишь перевод из текста в код (пока замененный) работает вплоть до пробелов, а вот с дешифровкой нифига не работает, может кто подскажет как сделать что бы он читал 3 символа и воспринимал его как один?

Буду очень благодарен если кто поможет.

Добавлено через 1 час 57 минут
И так я уже сам почти все решил и сделал но все же если кто поможет с последней "заковыкой" буду очень признателен.

Pascal
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
uses crt;
label peregod1,peregod2;
const
mrz:array[1..33] of string=
                 ('001','002','003','004','005','006','007','008',
                  '009','010','0111','012','013','014','015','016',
                  '017','018','019','020','021','022','023.','024.',
                  '025','026','028','029','030','031','032','033','000');
bk:string='АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ ';
var s,s1:string;
    i:byte;
    z,z1:string;
    iz,b:integer;
 
begin
peregod2: clrscr;
writeln('Для начала шифрования введите предложение');
readln(s);
s:=Uppercase(s);
s1:='';
for i:=1 to length(s) do
s1:=s1+' '+mrz[pos(s[i],bk)];
s1:=s1+' ';
writeln('Результат шифрования');
writeln('-------------------------------');
writeln('|',s1,'|');
writeln('Для дешифровки текста введите "1"');
writeln('Для ввода нового сообщения введите "2"');
readln(b);
if (b=1) then goto peregod1;
if (b=2) then goto peregod2;
peregod1:begin
writeln;
s1:='';
for i:=1 to  length(s) do
if s[ i ]<>'001' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'002' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'003' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'004' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'005' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'006' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'007' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'008' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'009' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'010' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'011' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'012' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'013' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'014' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'015' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'016' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'017' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'018' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'019' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'020' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'021' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'022' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'023' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'024' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'025' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'026' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'027' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'028' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'029' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'030' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'031' then s1:=s1+s[ i ]; //else s1:=s1+'cвu';
if s[ i ]<>'032' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
if s[ i ]<>'000' then s1:=s1+s[ i ]; //else s1:=s1+'cu';
writeln(s1);
end;
end.
Теперь эта зараза после последней буквы предложения ставит еще 33 таких же и я никак не вьеду почему...

Добавлено через 3 часа 44 минуты
Мда... Какие тут отзывчивые люди... А у то думал что тут реально хоть подскажут
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2016, 19:49
Ответы с готовыми решениями:

Азбука Морзе
Помогите создать программу,вот задание,сам примерно чтото сделал, но получается лажа,выручайте,вот...

Азбука Морзе
Превратить сообщение азбуки Морзе 64 символа в графическое изображение 8*8

Азбука Морзе графика
Разработать программу на языке Паскаль. Превратить сообщение азбуки морзе 64 символа в графическое...

Символьная информация (азбука Морзе)
Помогите пожалуйста написать программу по этому условию: С клавиатуры или как константа вводится...

1
0 / 0 / 1
Регистрация: 24.05.2016
Сообщений: 7
09.06.2016, 15:17  [ТС] 2
Вот фотка того глюка. Народ ну помогите кто нибудььььььььььььь
Миниатюры
Морзянка (Азбука морзе) и ее перевод  
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2016, 15:17
Помогаю со студенческими работами здесь

Перевод из азбуки Морзе в обычный текст
всем добрый вечер. написал программку для перевода из азбуки Морзе в обычный текст. все вроде бы...

Морзе. Заменить цифры на код морзе.
ПОМОГИТЕ!!! Люди вот пишу программу. Задание: необходимо в текстовом файле заменить цифры на код...

азбука морзе
Ребята помогите пожалуйста. Составить программу, которая позволяет текст содержащийся в файле...

Азбука Морзе
А есть ли алгоритм с помощью которого можно сконвертировать обычный текст в азбуку Морзе?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru