Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 13:27   #1
Angelwood
 
Регистрация: 20.05.2009
Сообщений: 5
Вопрос Текстовый файл. Строки. Не понятно условие

помогите, я не могу разобраться с программой, точнее с условиями:
Задан текст, состоящий из строк произвольной длины. Строки разделяются одним символом или несколькими, называемыми разделителями. Разделители одинаковы для всего текста. Текст заканчивается комбинацией двух специальных символов, отличных от разделителя. Выполнить над текстом последовательность действий:
1) определить количество вхождений в текст строки, вид которой задается в исходных данных.
2) сформировать новый текст, в котром каждый из таких строк заменена другой заданной строкой.

я не понимаю
1)что такое разделитель? это любой символ или пробел?
2)что за комбинация двух спецю символов?
3)что за вид строки, кот. задается в исходных данных? это пользователь сам задаёт этот вид? в смысле строка-число или строка-символ? или что за вид?

помогите, я не понимаю даже с чего начать, ну т.е. файл я создаю, а дальше?
Angelwood вне форума Ответить с цитированием
Старый 05.06.2009, 13:30   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

1. Любой символ, который вам захочется.. хоть Х... чаще всего пробел.. может быть запятая, или табуляция..

2. Например символ перевода строки в виндоуз ( \x0D\x0A что ли)

3. Ну это уже определяется условиями.. например строки, в которых в каждом слове присутствует символ @
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 05.06.2009, 13:37   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

1)Разделитель - это символ который помогает текст разделять на строки, задаётся самим программитом, или если пограммист хочет, то пользователем, это может быть какой угодно символ!!!
2)Комбинация символов - это признак конца текста(дальше ввод текста не продолжается, допустим !?).
3)Строка которая вводится чаще пользователем(даже лучше пользователем)!!!(какая угодно пользователю комбинация символов)
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 05.06.2009, 13:39   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Лучше скажите полное задание!!!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 05.06.2009, 13:45   #5
Angelwood
 
Регистрация: 20.05.2009
Сообщений: 5
По умолчанию

спасибо, значит символы в конце строк и в конце файла я должна задавать в самом файле при его заполнении? ну т.е. я создаю файл на диске с помощью rewrite(F) допустим, потом открываю файл уже сама (не при помощи Паскаля) вписываю в него произвольный текст:
ццццц*
уууу*
кккк&&

дальше я его закрываю, задаю искомую строку и нахожу кол-во вхождений такой строки в данный текст? так что-ли?
или как мне с помощью процедуры надо заполнить текст?
я не понимаю...=((
Angelwood вне форума Ответить с цитированием
Старый 05.06.2009, 13:46   #6
Angelwood
 
Регистрация: 20.05.2009
Сообщений: 5
По умолчанию

полное задание:

Задан текст, состоящий из строк произвольной длины. Строки разделяются одним символом или несколькими, называемыми разделителями. Разделители одинаковы для всего текста. Текст заканчивается комбинацией двух специальных символов, отличных от разделителя. Выполнить над текстом последовательность действий:
1) определить количество вхождений в текст строки, вид которой задается в исходных данных.
2) сформировать новый текст, в котром каждый из таких строк заменена другой заданной строкой.
Angelwood вне форума Ответить с цитированием
Старый 05.06.2009, 13:52   #7
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Ну пусть у вас есть исходный текст, в качестве разделителей пусть выступают пробелы, а концом текста допустим будет символ *, если eof не устраивает... далее, задаете строку какую-то.. и разделяете текст из файла на строки, сравнивая их с заданной... при этом записываете строку в другой файл, если они не совпадают, либо записываете другую заданную строку в новый файл если они совпадают.. как только встретится символ конца текста, заканчиваете обработку.. Не понятно?
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 05.06.2009, 14:08   #8
Angelwood
 
Регистрация: 20.05.2009
Сообщений: 5
По умолчанию

ну вроде понятно, только как мне "сделать" эти пробелы, ну всмысле мне нужно написать процедуру, кот. заполнит файл текстом и там указать что-то типа:
if EOLN(F) then write (' ');
так что-ли?
Angelwood вне форума Ответить с цитированием
Старый 05.06.2009, 14:14   #9
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Короче
Writeln ('Введите текст, !?-конец текста, @ - конец строки);
i := 0;
repeat
Inc(i);
Read(Text[i]);
Inc(i);
Read(Text[i]);
until ((Text[i-1] = '!') and (Text[i] = '?'));
Вот сначала просто считывай текст!! А потом над ним и работай!!!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 05.06.2009, 14:44   #10
Angelwood
 
Регистрация: 20.05.2009
Сообщений: 5
По умолчанию

блин, не понимаю куда это вставлять, вот то что я написала:
program n;
uses crt;
var F1,F2:text;
S1,S:string;
begin
S:='qqq.txt';
assign (F1,S);
assign (F2,'my.txt');
reset (F1);
rewrite (F2);
while not EOF(F1) do
begin
readln (F1,S1);
writeln (F2,S1);
end;
close (F1);
close (F2);
end.

Здесь он открывает один файл F1 считывает строки и переписывает в другой, кот. создаёт.
файл F1, исходный я в него вручную вписываю текст....вот, как я понимаю этот код:
Writeln ('Введите текст, !?-конец текста, @ - конец строки);
i := 0;
repeat
Inc(i);
Read(Text[i]);
Inc(i);
Read(Text[i]);
until ((Text[i-1] = '!') and (Text[i] = '?'));

нужен чтобы создать текст через Паскаль?? так куда его вставить???
Angelwood вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как текстовый файл в формате word 2007 переделать в файл в формате ZAY JULIA Microsoft Office Word 13 09.06.2010 19:43
Текстовый файл zalum Общие вопросы Delphi 4 28.05.2009 11:07
Условие If Then для отсутствующей строки ЛистБокса Alex_09 Общие вопросы Delphi 8 24.03.2009 09:32
Текстовый файл BuT@JL Помощь студентам 5 03.03.2009 21:32
Текстовый файл в текстовый массив Kimimaru Общие вопросы C/C++ 1 02.12.2007 11:55