Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Текствоый файл

Автор: Needhelp 17.04.2007 23:55

smile.gif Ну вот и мне help нужна...
Задание такое...
Задан текстовый файл и последовательность символов. Написать программу, которая определяет существует ли в этом файле заданная последовательность.
В поиске смотрел...да нифига не нашел...может кто чего? rolleyes.gif

Автор: klem4 17.04.2007 23:57

1) какая максимальная длина последовательности символов
2)

Последовательность:

'abcd'

Файл:

'это первая строка файлаa'
'bcdэто вторая строка файла'
EOF

или так

'abcd'

Файл:

'это первая строaка файла'
'это вторая строка файла'
'bcdэто третья строка файла'

результат ?

Автор: Angellore 18.04.2007 0:05

Те случаи, когда ищется
Последовательность:

'333'

Файл:

'4443344
3331211'

з.ы close(f) забыл smile.gif


uses crt;
var f:text;
s,s1:string;
subSTR:boolean;
begin
clrscr;
subSTR:=false;
assign(f,'c:/text.txt');
s:='4124';
reset(f);
while not eof(f) do begin
readln(f,s1);
if pos(s,s1)<>0 then subSTR:=true;
end;
writeln(subSTR);
readkey;
close(f);
end.


Автор: Needhelp 18.04.2007 2:13

Как бы код Angellore к моему условию???переделать))) rolleyes.gif

Автор: volvo 18.04.2007 2:43

Для этого надо как минимум знать твое условие, а на наводящие вопросы ты не отвечаешь..

Автор: Needhelp 18.04.2007 2:52

ВСЕ понял=)))) соррри smile.gif

'abcd'

Файл:

'это первая строка файлаa'
'bcdэто вторая строка файла'
EOF

или так

'abcd'

Файл:

'это первая строaка файла'
'это вторая строка файла'
'bcdэто третья строка файла'

результат ? TRUE

Если прав-но понял вопрос про (максимальную длинну последовательности символов) то это String (N=255)...

Автор: Needhelp 19.04.2007 23:30

И все-таки...есть предложения...мысли?

Автор: klem4 19.04.2007 23:41

последнее уточнение

строка

abcd

файл

1a34
b678
94c5
145d

true ?

Автор: Needhelp 19.04.2007 23:44

Цитата(klem4 @ 19.04.2007 20:41) *

последнее уточнение

строка

abcd

файл

1a34
b678
94c5
145d

true ?


ага

Автор: klem4 20.04.2007 0:05

Вот, потестируй

var
f: Text;
temp, s, word: String;
i, j: Integer;

begin
assign(f, 'text.txt'); reset(f);

word := 'abcd';
s := '';
i := 1;

while not(eof(f)) and (s <> word) do begin
readln(f, temp);
j := 1;
while (j <= Length(temp)) and (s <> temp) do begin
if temp[j] = word[i] then begin
s := s + word[i];
inc(i);
end;
inc(j);
end;
end;

writeln(s = word);

close(f);
end.


Автор: Needhelp 20.04.2007 0:19

строка

abcd+-

файл
55abc--
7777gyd++

Выдает False хотя +- тоже символы...

Автор: klem4 20.04.2007 0:26

Все правильно выдает False

после d+ минусов в файле нет.

Извини я не телепат, мало того тчо пришлось за тебя условие додумывать... приводи условие полностью с тестовыми примерами, и все будет нормально.

Автор: Needhelp 20.04.2007 0:35

Я забыл про последовательность... Ты прав...=)) На счет условия (примеров)..буду знать) Спасибо тебе огромное!!! Мог бы репу увел... но не могу (к сожалению)... Извини за лишнюю работу с примерами)))