Морзянка (Азбука морзе) и ее перевод
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
|