16.02.2014, 03:30 | #1 (permalink) |
Новичок
Регистрация: 16.02.2014
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Разработать программу шифрования текстовых файлов, Паскаль
Очень-очень нужна помощь. У меня в распоряжении только сутки( |
16.02.2014, 03:30 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Рекомендую вам незамедлительно прочитать схожие темы Разработать программу в среде Delphi Разработать программу с использованием и без использовая динамических структур данных Нужно разработать алгоритм и написать программу прошивания дерева при симметричном по Разработать программу, позволяющую заполнять форму стимулирующих надбавок и вычислять Разработать алгоритм и программу |
16.02.2014, 10:30 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да в общем-то нет проблем, вот только... Вы (а точнее Ваши преподы), я надеюсь, понимаете, что обратно расшифровать зашифрованный таким образом текст в принципе невозможно, поскольку различить гласную (ну или там запятую), которая не изменилась при шифровании, и гласную, которая явилась результатом сдвига кода согласной, невозможно. Ну раз это не требуется... Да, и еще одно. Я, извините, сделал для латиницы, потому что с кириллицей заморачиваться мне довольно муторно (у меня DOS-кодировка). Но если Вам нужна кириллица, просто перенабейте константу-множество, записав туда русские буквы. Или добавьте их. Ну и пути к файлам (где у меня обращение к диску D) поставьте свои.
Код:
Const Consonant=['b','c','d','f','g','h','j','k','l','m','n','p', 'q','r','s','t','v','w','x','z','B','C','D','F', 'G','H','J','K','L','M','N','P','Q','R','S','T', 'V','W','X','Z']; Var f1,f2:Text; S:String; i:Byte; YN:Char; Function Change(C:Char):Char; begin If C in Consonant then Change:=CHR(ORD(C)-5) else Change:=C; end; Procedure Coding; begin ReSet(f1); ReWrite(f2); Repeat If Not(EoF(f1)) then begin Readln(f1,S); for i:=1 to Length(S) do Write(f2,Change(S[i])); Writeln(f2); end; Until EoF(f1); Close(f1); Close(f2); end; Procedure Show(var fx:Text); begin Writeln; ReSet(fx); Repeat Readln(fx,S); Writeln(S); Until EoF(fx); Close(fx); end; Begin Assign(f1,'D:\Inp.txt'); Assign(f2,'D:\Out.txt'); Coding; Write('Show the input file (Y/N)? '); Readln(YN); If (YN='Y') or (YN='y') then Show(f1); Writeln; Write('Show the encoded file (Y/N)? '); Readln(YN); If (YN='Y') or (YN='y') then begin Show(f2); Readln; end; End. |
23.02.2014, 12:07 | #3 (permalink) |
Новичок
Регистрация: 16.02.2014
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Не могла зайти раньше, что бы поблагодарить вас.
Огромное вам спасибо! Все отлично. Все сдала! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|