IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Работа с текстом..., помогите с алгоритмом..
Роман
сообщение 13.03.2011 12:13
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Роман

Репутация: -  0  +


Здравствуйте, нужна ваша помощь....
Вот текст задания:

Составить алгоритм и программу обработки фразы (строки текста), находящемся в текстовом файле Inputtxt.txt.
В результате работы программы в файле отчета необходимо в алфавитном порядке расположить буквы из которых состоит текст с их количеством.
Пример:
Содержание исходного файла Inputtxt.txt слово "МАМА"
В результате работы программы получен файл следующего вида:

Буква Количество
А 2
М 2
(служебная информация, не более 2 байт для каждого символа фразы)

В служебной информации должны быть закодированы (зашифрованы) данные о каждой букве фразы.
В дальнейшем, при запуске этой программы входным файлом должен стать файл отчета со служебной информацией. В результате работы должен быть получен текст исходной фразы в файле с именем Output.txt

Вот собственно начал писать программу:

Program labb;
uses crt;
var k,j,m,g,d,l:integer; I,O: text; s:char;
A: array [1..255] of integer;
begin
m:=0;
assign (I,'Input.txt');
reset(I);
while not Eof(I) do
begin
m:=m+1;
read(I, s);
A[m]:=ord(s);
writeln(A[m]);
end;
Close(I);
assign(O,'Output.txt');
l:=0;
for k:=1 to 255 do
begin
if (A[k]<>0) then
begin
append(O);
write(O,chr(A[k]),' - ',l);
writeln(O);
end;
end;
Close(O);
g:=0;
assign(O,'Output.txt');
append(O);
writeln(O,'***********************************');
for j:=1 to m do
begin
append(O);
g:=g+1;
A[g]:=256-A[g];
write(O,chr(A[g]));

end;
Close(O);
readkey;
end.
}


То есть я описал массив, записал аски коды символов в него, собственно возникла проблема с подсчетом количества символов(символы как русские так и англ.), зашифровал я методом Atbash, думаю расшифровать смогу при повторном запуске программы, метку в виде звёздочек поставил, а вот как ее потом определить пока не думалsmile.gif

Сообщение отредактировано: Роман - 13.03.2011 12:14
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Роман
сообщение 16.03.2011 14:51
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Роман

Репутация: -  0  +


все-таки хотелось бы чтобы программа расшифровывала данные после 2 го запуска. Как ни пытался сделать условие, что при прочтении файла log.txt (там появляются знаки ******), если есть эти символы(*) то начать расшифровывать... но чтото при запуске программа выдавала ошибкуsad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 16.03.2011 15:07
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Ага, ясно.. Я невнимательно читал просто. Восстановление текста производится не по частотам символов, а по "служебной информации" в конце файла )).
Цитата(Роман @ 16.03.2011 14:51) *
все-таки хотелось бы чтобы программа расшифровывала данные после 2 го запуска. Как ни пытался сделать условие, что при прочтении файла log.txt (там появляются знаки ******), если есть эти символы(*) то начать расшифровывать... но чтото при запуске программа выдавала ошибкуsad.gif

Ты все же непонятно изъясняешься. Ты правда думаешь, что мы можем указать на ошибку, когда ты пишешь "но чтото при запуске программа выдавала ошибку". Ни кода, ни даже номера ошибки.. blink.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Роман   Работа с текстом...   13.03.2011 12:13
volvo   Это невозможно. Хочешь пример? Пожалуйста: А-1 Г-...   13.03.2011 14:46
Роман   Вобщем уточнил: расположить надо не по алфавиту а ...   15.03.2011 12:15
Lapp   Вобщем уточнил: расположить надо не по алфавиту а ...   16.03.2011 5:09
Роман   все-таки хотелось бы чтобы программа расшифровывал...   16.03.2011 14:51
Lapp   Ага, ясно.. Я невнимательно читал просто. Восста...   16.03.2011 15:07
Роман   короче отказался я от идеи считывать "здездоч...   16.03.2011 16:09
Lapp   короче отказался я от идеи считывать "здездо...   16.03.2011 16:28
Unconnected   Посмотри тут.   16.03.2011 16:27
-Дмитрий-   Если не сложно выложите окончательный вариант кода   5.05.2011 16:35
techno   Вот идеально выполненное задание.))) Program lab...   21.05.2011 5:52
Lapp   Вот идеально выполненное задание.Ха ). Ты зайди с...   21.05.2011 6:25
-TarasBer-   > if (i>=224) and (i<=255) then begin ...   21.05.2011 11:49
Роман   > if (i>=224) and (i<=255) then begin ...   22.05.2011 8:14
Lapp   1) Диапазон аски кодов маленьких русских букв. 2) ...   22.05.2011 10:11
Роман   Не знаю, понял ты или нет, но назвав свой код иде...   22.05.2011 11:30
Гость   > Тарас прекрасно знает коды всех букв (может, ...   22.05.2011 10:38
Lapp   Почему никто не напишет просто 'а'..'я...   23.05.2011 10:21


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 11:31
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"