Помощь - Поиск - Пользователи - Календарь
Полная версия: Зашифровать текст
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
lerika
Зашивровать текст,записанный с помощью русских букв и знаков препинания, след. образом: заменить каждую букву непосредственно следующей за ней по алфавиту (буква "я" заменяется на "а").
Необходимо а)зашифровать текст
б)расшифровать текст
Замена буквы оформляется в виде функции. Исходный текст берется ихз файла данных, а результат ( зашифрованный текст, расшифрованный текст) помещается в файл результата....




И КАК ЭТО ВЫГЛЯДИТ ВСЕ?????????????? blink.gif
volvo
Вот так:
Шифрование текста
lerika
спасибо, но это очень сложно.... wacko.gif ужас...это моя курсовая к завтрашнему дню...помогите люди
mamont001
самое лёгкое- изменять ascii код символа на 1 для шифрования и менять в обратную сторону для разшифрования
Артемий
c:char;
c:=ord©+1;

сама шифровка..(без "я")
lerika
а можно полный текст программы от program дo end
Kirill_
Можно.
lerika
Kirill_,пожалуйста....
mamont001
 
program kursovayazapis;
var
{описание переменных}
begin
{открытие файла}
while not eof do
begin
{чтение символа}
c:=chr(ord©+1);
{запись символа}
end;
{закрытие файла}
end.



Если надо что-то ещё то это уже "задачи на заказ"
Lapp
Цитата(lerika @ 26.03.2007 21:51) *

спасибо, но это очень сложно.... wacko.gif ужас...это моя курсовая к завтрашнему дню...помогите люди

- это сейчас запощу в раздел Юмор, в тему "из жизни Форума", уж не обижайся.. smile.gif

2 Артемий:
сложность не в "я":

c:=Chr(Ord('А')+(ord©-Ord('А'))+1) mod 33); {считаю, что в алфавите 33 буквы}

- сложность в том, что русская кодировка неоднозначная...

Подправил строчку (вставил Chr)
volvo
Цитата
русская кодировка неоднозначная...
yes2.gif
Собственно, поэтому я и привел ссылку на свою тему: там ясно показано, что лучше работать с алфавитом, как со строкой символов...

Добавлено через 2 мин.
Цитата(mamont001)
Если надо что-то ещё то это уже "задачи на заказ"
Уважаемый не знает, что этот подфорум все еще не функционирует? А при малейшей попытке ЗДЕСЬ устроить решение задач за деньги он будет беспощадно расстрелян... (это было предупреждение)
Артемий
2 Lаpp Ясно! smile.gif
Kirill_
Цитата

- сложность в том, что русская кодировка неоднозначная...

Почему?
Код большой буквы А и Я, 128 и 159 соответственно. А маленьких а и я, 160 и 239!
mamont001
Цитата
Почему?
Код большой буквы А и Я, 128 и 159 соответственно. А маленьких а и я, 160 и 239!


А кейрус?
lerika
люди...ну помогите глупой девочке
мисс_граффити
Kirill_, не в обиду, но символы с 176 по 223 назвать русскими буквами сложновато.
lerika, поведай, что предполагается делать с буквой "я"? на что ее заменять? на "а"?
lerika
lerika, поведай, что предполагается делать с буквой "я"? на что ее заменять? на "а"?
[/quote]


я на а, а на б, б на в и т.д.
Lapp
Цитата(мисс_граффити @ 27.03.2007 0:01) *

что предполагается делать с буквой "я"? на что ее заменять? на "а"?

Все сказано в первом посте. Неясно только, делать ли сквозной алгоритм для больших и маленьких букв или отдельно циклить те и другие.
Знаки препинания и пробелы, как я понял, оставляются на местах..
мисс_граффити
program kurs;
function zamena(const c:char):char;
var alf:string;
begin
alf:=& #39;абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГД
ЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
case c of
'я': zamena:='a';
'Я': zamena:='А'
else
if pos(c,alf)<>0 then
zamena:=alf[pos(c,alf)+1]
else
zamena:=c;
end;
end;

var s: string;
i: integer;
begin
writeln('vvedite s'); //вот здесь делаешь чтение из файла
readln(s);
for i:=1 to length(s) do
s[i]:=zamena(s[i]);
writeln(s); //а здесь запись в файл
readln;
end.

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.