Показать сообщение отдельно
Старый 16.02.2014, 10:30   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от mariafs Посмотреть сообщение
Очень-очень нужна помощь. У меня в распоряжении только сутки(
Да в общем-то нет проблем, вот только... Вы (а точнее Ваши преподы), я надеюсь, понимаете, что обратно расшифровать зашифрованный таким образом текст в принципе невозможно, поскольку различить гласную (ну или там запятую), которая не изменилась при шифровании, и гласную, которая явилась результатом сдвига кода согласной, невозможно. Ну раз это не требуется... Да, и еще одно. Я, извините, сделал для латиницы, потому что с кириллицей заморачиваться мне довольно муторно (у меня 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.
Вложения
Тип файла: txt INP.TXT (339 байт, 796 просмотров)
Тип файла: txt Out.txt (339 байт, 798 просмотров)
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070