|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.04.2011, 18:49 | #1 |
Новичок
Джуниор
Регистрация: 12.04.2011
Сообщений: 1
|
Текстовой файл
Пламенный салют форумчане!!! Прошу очень помочь отредактировать программу, чтобы работала, вот условие в помощь: дана строка К, состоящая из 10 цифр, и файл с русским текстом. Зашифровать файл, выполнив цикличческую замену каждой русской буквы, стоящей на i-й позиции строки, на букву того же регистра, расположенную в алфавите на К[i]-м месте, после шифруемой буквы (символы строки К также перебираются циклически: для i=11 снова используется смещение К[1] и т.д.). Букву "ё" в алфавите не учитывать, знаки препинания и пробелы не изменять.
Сама программа полу готовая вот, только ё учтена, но не работает, помогите умоляю отредактировать: Uses CRT; Const s3='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭ ЮЯ'; s4='абвгдеёжзийклмнопрстуфхцчшщъыьэ юя'; Var i,k:integer; s,s2:string; f,f2,f3:text; begin assign(f,'D:\isch.txt'); reset(f); assign(f2,'D:\shifr.txt'); rewrite(f2); s:=''; while not eof(f) do begin readln(f,s); //шифруем s2:=''; for i:=1 to length(s) do begin if i mod 10=0 then k:=10 else k:=i mod 10; if s[i] in ['А'..'Я','Ё'] then s2:=s2+s3[1+(pos(s[i],s3)+k-1) mod 33] else if s[i] in ['а'..'я','ё'] then s2:=s2+s4[1+(pos(s[i],s4)+k-1) mod 33] else s2:=s2+s[i]; end; writeln('Зашифрованная строка: ',s2); writeln(f2,s2) end; textcolor(5); writeln('Файл зашифрован.Смотри файл shifr.txt'); Close(f); textcolor(0); writeln; reset(f2); assign(f3,'D:\deschifr.txt'); rewrite(f3); k:=0; s2:=''; while not eof(f2) do begin readln(f2,s2); //дешифруем s:=''; for i:=1 to length(s2) do begin if i mod 10=0 then k:=10 else k:=i mod 10; if s2[i] in ['А'..'Я','Ё'] then s:=s+s3[1+(pos(s2[i],s3)+length(s3)-k-1) mod 33] else if s2[i] in ['а'..'я','ё'] then s:=s+s4[1+(pos(s2[i],s4)+length(s3)-k-1) mod 33] else s:=s+s2[i]; end; writeln('Расшифрованная строка: ',s); writeln(f3,s) end; textcolor(5); writeln('Файл дешифрован.Смотри файл deschifr.txt.'); Close(f2); Close(f3); end. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
текстовой файл | Katia123 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 23.06.2010 10:14 |
Создать текстовой файл и подсчитать количество символов в нём. | GN_ | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 26.05.2010 19:45 |
текстовой файл | Work Group | Помощь студентам | 0 | 27.12.2009 19:35 |
Паскаль, текстовой файл. | Alexey_HvaranG | Помощь студентам | 2 | 08.12.2009 08:19 |
Текстовой файл | Stanislav | Общие вопросы Delphi | 3 | 26.12.2007 14:31 |