Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Stalker_ermak
0 / 0 / 1
Регистрация: 24.05.2016
Сообщений: 7
1

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

08.06.2016, 19:49. Просмотров 337. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2016, 19:49
Ответы с готовыми решениями:

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

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

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

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

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

1
Stalker_ermak
0 / 0 / 1
Регистрация: 24.05.2016
Сообщений: 7
09.06.2016, 15:17  [ТС] 2
Вот фотка того глюка. Народ ну помогите кто нибудььььььььььььь
0
Миниатюры
Морзянка (Азбука морзе) и ее перевод  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2016, 15:17

Реализовать азбуку морзе
Нужно сделать чтобы при нажатии на кнопку был звук азбуки морза... каждой...

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

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


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

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

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