1. Создать программу шифровщик-дишифровщик. Вначале выбераем шифровку или дишифровку выполняем. Для шифровки вводим русский текст, преобразуем все буквы в заглавные, а затем прибавляем каждому коду буквы сдвиг (сдвиг может быть и отрицательным, мы сами его вводим). А на дишифровщике точно на оборот... Заранее благодарю!!!
Tan
19.03.2007 22:05
Ну вот вроде шифровка так выглядит, если я правильно понял ( или с русскими по другому? ), для любых сиволов. Это только шифровка обратный процесс аналогичен:
uses crt; var s : string; ch : char; n,i : integer; newstring : string; begin Clrscr; writeln ('Vvedite stroku'); readln (s); newstring:=s; writeln ('Shifrujem: Y/N'); readln (ch); if (Ch='y') or (Ch='y') then begin writeln ('Vvedite velichinu smeshenija? '); readln (n); for i:=1 to Length(S) do begin newstring[i]:=Upcase(chr(ord(s[i])+n)); end; end else exit; writeln ('Novaja stroka: ',newstring); readkey; end.
klem4
19.03.2007 22:30
!
Если тема не будет переименована, она будет закрыта
Tan, и что выдаст твоя программа для строки
ab при n = -4 ?
Пользуемся поиском, задача решалась !
Tan
19.03.2007 22:38
Границы смещения я и не ставил, если ты про это конечно, если человек понял идею для него это не проблема.
klem4
19.03.2007 22:39
Да что ты ! А что-же у тебя в программе знначат вот эти строки ?
+ Смотрел какой результат UpCase дает для кириллицы ? А ведь именно с ней надо работать по заданию.
compiler
20.03.2007 0:48
Цитата(klem4 @ 19.03.2007 17:30)
Если тема не будет переименована, она будет закрыта
а пользыватели могут периименовывать темы? Мы простые смертные на это к сожелению не способны...
Артемий
20.03.2007 1:08
{$X+} function UpNCase(ch: char): char; begin case ch of 'А'..'п': begin UpNCase:=chr(ord('А')+ord(ch)-ord('а')); end; 'р'..'я': begin UpNCase:=chr(ord('Р')+ord(ch)-ord('р')) end; end; end;
Ребят, век не забудем... Я пока не проверял, но выгледит красиво. Надеюсь машине тоже понравится... А переименовать почему-то не могу тему. Мож потому что я с мини оперы сдеся...
klem4
20.03.2007 21:21
Мне кажется просто Цезарь это не совсем то что нужно, я думаю должно быть что-то вроде этого: