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

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

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

> Обработка текстовых данных, Операции над ними
Earl_Ananiy
сообщение 28.01.2010 3:59
Сообщение #1


Новичок
*

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

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


Разработать блок-схему алгоритма и составить программу обработки текстовых данных, хранящихся в произвольном файле на магнитном диске. Вид обработки данных ‴Включение в каждую строку заданной последовательности символов после символа с заданным номером‴. Текстовые данные, подлежащие обработке, заносятся в файл с помощью редактора текста. В программе предусмотреть ввод с терминала имен входного и выходного (в случае необходимости) файлов, вывод на печать входного и выходного файлов. Предусмотреть запись выходного файла на диск. Длина строки файла не должна превышать 80 символов.

Помогите доработать мою программу.

program kurs2;
Uses CRT;
Var
f:text;
n,m:string[80];
pos,i:integer;
Begin
clrscr;
writeln('pos');
readln(pos);
writeln('m');
readln(m);
Assign(f,'c:\kurs\input.txt');
reset(f);
read(f,n);
writeln('n=',n);
insert(m,n,pos);
Assign(f,'c:\kurs\output.txt');
rewrite(f);
write(f,n);
writeln('new=',n);
close(f);
readln;
end.

М
Граф Ананий, потрудись прочесть правила, пожалуйста, а также выполнять их (речь о п.5)

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 28.01.2010 6:06
Сообщение #2


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

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

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


Вот, как-то так.. Комменты по тексту.
program kurs2;
{никогда не вставляй CRT, если не жизненно важно}
Var
f,g: text; {тебе нужно два файла для параллельного ввода/вывода}
n,m:string[80];
pos,i:integer; {а зачем тебе i?}

Begin
{никогда не очищай экран, если не жизненно важно}
write('pos '); {лучше без Ln, но с пробелом или = в конце}
readln(pos);
write('Insertion '); {лучше не имя переменной, а что-то более говорящее}
readln(m);
{не пиши тут директорию явно, работай в текущей. Кому надо - введут полное имя}
Assign(f,'input.txt'); {вообще-то, имена файлов, кажется, надо было тоже ввести..}
reset(f);;
Assign(g,'output.txt');
rewrite(g);
while not EoF(f) do begin {нужен цикл по строкам до окончания файла}
readLn(f,n); {тут надо ReadLn, а не Read, иначе не прочтет вторую и дальше}
writeln('old=',n);
if Length(n)>=pos then {я бы проверил, есть ли вообще нужный символ..}
insert(m,n,pos+1); {нужно прибавить 1, иначе вставишь перед символом с номером pos}
WriteLn(g,n); {запись в выходной файл, тоже с Ln}
writeln('new=',n); {пересено из конца}
end;
Close(g);
close(f);
readln;
end.

Разбирайся, задавай вопросы. Пожалуйста, обрати внимание на форматирование кода - оно тебе очень поможет в будущем.

Еще одно: у тебя незакрытая файловая переменная f используется для нового файла - это грубая ошибка!


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Earl_Ananiy
сообщение 28.01.2010 19:33
Сообщение #3


Новичок
*

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

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


Цитата
Разбирайся, задавай вопросы. Пожалуйста, обрати внимание на форматирование кода - оно тебе очень поможет в будущем.


Что сделать для обработки, при введении текста с экрана.


тут я применил тэги цитаты и цвета. Нажми "Изменить - полное редактирование" - и увидишь, как. Lapp

Сообщение отредактировано: Lapp - 28.01.2010 19:44
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 28.01.2010 19:41
Сообщение #4


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

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

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


Цитата(Earl_Ananiy @ 28.01.2010 19:33) *
Что сделать для обработки, при введении текста с экрана.
Неясно, что ты имеешь в виду. Можешь сказать поподробнее? Вместо входного файла - ввод с клавы? да? Немного побольше слов, пожалуйста..


И, пожалуйста, используй тэги. Для кода - code, для цитаты - quote, и т.п. Видишь разные кнопочки над формой ввода? Они обрамляют выделенный текст тэгами. Выдели текст мышкой и нажми, например, B. А потом нажми кнопку предпросмотра (она внизу). Поэкспериментируй.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Earl_Ananiy
сообщение 28.01.2010 19:52
Сообщение #5


Новичок
*

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

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


Цитата(Lapp @ 28.01.2010 19:41) *

Неясно, что ты имеешь в виду. Можешь сказать поподробнее? Вместо входного файла - ввод с клавы? да? Немного побольше слов, пожалуйста..
И, пожалуйста, используй тэги. Для кода - code, для цитаты - quote, и т.п. Видишь разные кнопочки над формой ввода? Они обрамляют выделенный текст тэгами. Выдели текст мышкой и нажми, например, B. А потом нажми кнопку предпросмотра (она внизу). Поэкспериментируй.


Код
Для ввода с клавиатуры.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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