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

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

08.06.2016, 19:49. Просмотров 325. Ответов 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 минуты
Мда... Какие тут отзывчивые люди... А у то думал что тут реально хоть подскажут
http://www.cyberforum.ru/pascalabc/thread847488.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2016, 19:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Морзянка (Азбука морзе) и ее перевод (Pascal ABC):

Азбука Морзе
Превратить сообщение азбуки Морзе 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
Привет! Вот еще темы с решениями:

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

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

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

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


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

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

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