Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
3 / 3 / 0
Регистрация: 12.09.2012
Сообщений: 90
1

кодер-декодер

07.09.2013, 15:18. Показов 3951. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, такая проблема: надо написать программу кодер(или шифратор, как вам удобнее) программу приложу ниже, так вот, в программе в строке case s of он пишет "неверное выражение" знает кто причину??
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
 uses crt;
 var i:integer;
 f,f1:text;
 s:char;
 c:string;
 begin
 assign(f,'E:\in.txt');
 assign(f1,'E:\out.txt');
 reset(f);
 rewrite(f1);
 for i:= 0 to eof(f) do
       begin
            read(f,s);
            case s of
            А:s:=11;
            Б:s:=12;
            В:s:=13;
            Г:s:=14;
            Д:s:=15;
            Е:s:=16;
            Ё:s:=21;
            Ж:s:=22;
            З:s:=23;
            И:s:=24;
            Й:s:=25;
            К:s:=26;
            Л:s:=31;
            М:s:=32;
            Н:s:=33;
           О:s:=34;
            П:s:=35;
            Р:s:=36;
            С:s:=41;
           Т:s:=42;
            У:s:=43;
            Ф:s:=44;
            Х:s:=45;
            Ц:s:=46;
            Ч:s:=51;
            Ш:s:=52;
            Щ:s:=53;
            Ъ:s:=54;
            Ы:s:=55;
            Ь:s:=56;
            Э:s:=61;
            Ю:s:=62;
            Я:s:=63
            else s:=' ';
            write (f,s);
       end;
            close(f,f1);
 end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2013, 15:18
Ответы с готовыми решениями:

Бинарный кодер.
А проблема вот в чём. Учиться на факультете программирования я начал совсем недавно и мне вот дали...

Кодер/декодер
Как на дельфи можно так закодировать и раскодировать?

Кодер-декодер.
Я недавно начал писать на бейсике и захотелось написать программу которая бы переводила русский...

кодер/декодер
здравствуйте. есть небольшой проект - консольное приложение кодера/декодера (сишные файлы...

13
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.09.2013, 15:26 2
И что ты творишь? Если читаешь буквы то
Pascal
1
2
case s of
'А':
но s не может принимать целое значение, поскольку
Pascal
1
var s:char;
Добавлено через 1 минуту
Тогда уж так
Pascal
1
2
3
read(f,s);
   case s of
   'À':c:='11';
0
3 / 3 / 0
Регистрация: 12.09.2012
Сообщений: 90
07.09.2013, 15:32  [ТС] 3
Puporev, извеняюсь, просто давно не писал программы(

исправил, ругается на
Pascal
1
2
            else a:=' ';
            write (f,a);
я просто перенес а в строковый, чтобы там не пришлось по нескольку раз переписывать...
0
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.09.2013, 15:35 4
Так переменная а вообще не объявлена
0
3 / 3 / 0
Регистрация: 12.09.2012
Сообщений: 90
07.09.2013, 15:36  [ТС] 5
Puporev, в смысле??


я ж говорю я ее объявил
Pascal
1
c,a:string;
просто лень было с писать, да и чтобы не спутаться
0
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.09.2013, 15:37 6
Pascal
1
2
3
4
var i:integer;
 f,f1:text;
 s:char;
 c:string;
где здесь a?
0
3 / 3 / 0
Регистрация: 12.09.2012
Сообщений: 90
07.09.2013, 15:38  [ТС] 7
Puporev,
Pascal
1
2
3
4
5
 uses crt;
 var i,x:integer;
 f,f1:text;
 s:char;
 c,a:string;
говорю ж исправил
0
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.09.2013, 15:41 8
Pascal
1
2
3
4
5
6
7
read(f,s);
   case s of
   'А':a:='11';
   ....
   else a:=' ';
  end;
  write (f,a);
Добавлено через 52 секунды
Цитата Сообщение от Ботью Посмотреть сообщение
говорю ж исправил
Когда я читал, не было a, и не нужно рычать...
0
3 / 3 / 0
Регистрация: 12.09.2012
Сообщений: 90
07.09.2013, 15:45  [ТС] 9
Puporev, извеняюсь, по моему должно быть так
Pascal
1
2
3
 else a:=' ';
  write (f,a);
               end;
так он выводит в тот файл посимвольно, тоесть считал,изменил,вывел, а если как писали вы, то он выведет немного не то, или я ошибаюсь?
0
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.09.2013, 16:00 10
Цитата Сообщение от Ботью Посмотреть сообщение
или я ошибаюсь?
А ты проверь....

Добавлено через 2 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
for i:= 0 to eof(f) do
  begin
   read(f,s);
   case s of
   'À':a:='11';
   ...........;
   else a:=' ';
   end;
   write (f,s);
  end;
 close(f,f1);
0
3 / 3 / 0
Регистрация: 12.09.2012
Сообщений: 90
07.09.2013, 16:01  [ТС] 11
Puporev, вот в таком виде программа выполняется, но на выходе пусто
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
program my;
 uses crt;
 var i,x:integer;
 f,f1:text;
 s:char;
 c,a:string;
 begin
 assign(f,'E:\in.txt');
 assign(f1,'E:\out.txt');
 reset(f);
 rewrite(f1);
 read(f, c);
while not eof(f) do
       begin
            read(f,s);
            case s of
            'À','à':a:='11';
            'Á','á':a:='12';
            'Â','â':a:='13';
            'Ã','ã':a:='14';
            'Ä','ä':a:='15';
            'Å','å':a:='16';
            '¨','¸':a:='21';
            'Æ','æ':a:='22';
            'Ç','ç':a:='23';
            'È','è':a:='24';
            'É','é':a:='25';
            'Ê','ê':a:='26';
            'Ë','ë':a:='31';
            'Ì','ì':a:='32';
            'Í','í':a:='33';
            'Î','î':a:='34';
            'Ï','ï':a:='35';
            'Ð','ð':a:='36';
            'Ñ','ñ':a:='41';
            'Ò','ò':a:='42';
            'Ó','ó':a:='43';
            'Ô','ô':a:='44';
            'Õ','õ':a:='45';
            'Ö','ö':a:='46';
            '×','÷':a:='51';
            'Ø','ø':a:='52';
            'Ù','ù':a:='53';
            'Ú','ú':a:='54';
            'Û','û':a:='55';
            'Ü','ü':a:='56';
            'Ý','ý':a:='61';
            'Þ','þ':a:='62';
            'ß','ÿ':a:='63';
             else a:=' ';
             end;
             write (f1,a);
                   end;
            close(f);
            close(f1);
           
 end.
0
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.09.2013, 16:27 12
В строке 12 это зачем?
Pascal
1
read(f, c);
Если это ненужная строка, то нужно
Pascal
1
readln(f, c);
1
3 / 3 / 0
Регистрация: 12.09.2012
Сообщений: 90
07.09.2013, 21:46  [ТС] 13
Puporev, все, сделал, только без файлов, спасибо за помощь

Добавлено через 1 час 53 минуты
ребят, а знает кто, можно ли вытащить из строки 2 символа? чтобы декодировать(посмотрев программу кодирования, думаю, поймете, что я спрашиваю) если да то как, а то часа полтора уже это описать не могу(
0
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
08.09.2013, 07:21 14
Цитата Сообщение от Ботью Посмотреть сообщение
чтобы декодировать
А в какой символ будете декодировать например 11 в А или а?

Добавлено через 5 минут
Чтобы брать по 2 символа можно так.
Pascal
1
2
3
4
5
6
7
8
9
10
while not eof(f) do
 begin
  readln(f,str);//читаем строку
  while str<>'' do //пока она не пустая
   begin
    a:=copy(str,1,2); //берем 2 первых символа, например 11
    //присваиваем нужный символ, пишем в файл или куда там
    delete(str,1,2);
   end;
 end;
А вообще нужно завести 2 константы-массива, в одном символы, в другом строки из двух символов, тогда по индексам легко переводить одно в другое.
0
08.09.2013, 07:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2013, 07:21
Помогаю со студенческими работами здесь

UUE кодер\декодер
Доброго времени суток! Возникла потребность написать на C# кодер и декорер UUE, но я не...

Кодер и декодер на ATtiny2313
кто нибудь делал подобное? http://rodyokot.ru/circuit/digital/outomat/23/

Декодер и Кодер Морзе
Господа форумчане! Необходимо написать кодер и декодер на дельфи. Сигнал принимается с микрофона и...

Кодер-Декодер Хемминга.
Кодер: #include &lt;iostream&gt; unsigned char xr (unsigned char c) { int d; unsigned char s=0;...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru