![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
ВанXelsing |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
Помогите с написанием проги, для получения зачета, до понедельника срочно нужно.
Задание:Надо написать прогу которая читает текст из одного файла и меняет(кодирует) каждую букву на следующую букву алфавита, при этом должен использоваться еще один текстовый файл, в котором написанно какие буквы из текста меняются на другие. Т.е. вид примерно такой: а:=б б:=в в:=г ну и.т.д. Я попытался сделать, но не получается, символы из файла, где содержится выше указзанный тип кодировки, не распазнаются как текст, а получаются место букв всякие сердечки и квадратики и.т.д. Хелп кто знает как это пишется. Вот код моей проги, которую я попробовал написать. Код uses CRT; var F,fs:text; переменных} Buf:array[1..4096] of Char; St,sts:String[255]; str:string; i,y:longint; begin ClrScr; str:='ABCDEFGHIJKLMNOPQRSTUVWXYZ'; Assign(fs,'C:\shifr.txt' reset(fs); while not eof(fs) do begin readln(fs,sts); end; Assign(f,'C:\Text.txt'); SetTextBuf(f,Buf); Reset(f); While not EOF(F)do begin readln(F,St); for i:=1 to Length(St) do begin if St[i]='a' then St[i]:=Sts[y]; write(ST[i]); end; end; |
BlackShadow |
![]()
Сообщение
#2
|
Гость ![]() |
Код Const Chars="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; Var f:File Of Char; c:Char; Begin Assign(f,'In.Txt'); Reset(f); While Not Eof(f) Do Begin Read(f,c); If Pos(c,Chars) <> 0 Then If c='Z' Then Write('A') Else Write(Char(Byte(c)+1)) Else Writer(c) Wns; Close(f) End. Если я правильно понял условия и нигде не описался... Учти с русскими буквами такая тема не пройдёт - у них разрыв между "п" и "р" - надо проверку вставлять. |
ВанXelsing |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
Практически так, только надо чтобы паскаль брал условия замены букв из второго текстового файла, т.е. типа кодировки получается. Первый файл-это текст, второй файл -это условия замены.
|
ВанXelsing |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
Но и за этот вариант СПАСИБО!
|
BlackShadow |
![]()
Сообщение
#5
|
Гость ![]() |
Так бы сразу и сказал...
Код Var CodeTable:Array['a'..'z'] Of Char; c:Char; f:File Of Char; Begin Assign(f,'ReCode.Txt'); Reset(f); For c:='a' To 'z' Do Read(f,CodeTable[c]); Close(f); Assign(f,'In.Txt'); Reset(f); While Not Eof(f) Do Begin Read(f,c); If c In ['a'..'z'] Then Write(CodeTable[c]) Else Write(c) End; Close(f) End. CodeTable.Txt должен состоять из 26 последовательноидущих букв. Например: Цитата BCDEFGHIJKLMNOPQRSTUVWXYZA |
ВанXelsing |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
Спасибо большое, зачет сдал, век не забуду!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
BlackShadow |
![]()
Сообщение
#7
|
Гость ![]() |
Это тебе спасибо - дал нам с Олегом для очередной дискуссии на тему кто больший извращенец
![]() |
Altair |
![]()
Сообщение
#8
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
![]() ![]() ![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
BlackShadow |
![]()
Сообщение
#9
|
Гость ![]() |
![]() Жизненный цикл обычного программера: :p12: :p1: :p10: :p8: |
Altair |
![]()
Сообщение
#10
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Насчет смайлов.
Как вам вот этот: НАЖМИТЕ, чтобы посмотреть Сообщение отредактировано: Oleg_Z - 21.06.2004 17:05 -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 12.08.2025 6:16 |