Помощь - Поиск - Пользователи - Календарь
Полная версия: Строки и Файл
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Kalipsoo
Добрый всем день! )

Суть задачи:

Составим 2 программы:

Программа А. Сформировать текстовый файл из строк введённых с клавиатуры.
Программа Б. Вывести на экран строки содержащие слово stop.

Значит я сделал так:
Программа А
rogram COD4forever;
var f:text;
b:char;
x:string[80];
Begin
assign(f, 'test.txt');
Rewrite(f);
x:='a';
b:='!';
writeln('Vvod strok');
while x<>b do
begin
readln(x);
if x<>b then writeln(f,x);
end;
close(f);
end.

Программа Б
Код
Program COD4super;
uses crt;
var f:text;
b:char;
c:integer;
x:string[80];
begin
clrscr;
Assign(f, 'test.txt');
reset(f);
While not EOF(f) do
begin
readln(f,x);
end;
While not EOF(f) do
If pos('stop',x)<>0 then
writeln(x);
close(f);
readln;
end.


Но у меня программа Б почему то не выводит строки содержащие слово стоп, а совсем ничего не выводит. Помоги пожалуйста!
Заранее спасибо smile.gif
volvo
Зачем 2 цикла? В первом ты читаешь все строки из файла в одну единственную строку X... Но даже она не будет проверяться на наличие там 'stop', потому что у тебя файл прочитан полностью, и во второй цикл программа даже не зайдет, потому что сразу встретит конец файла... Вот так надо бы делать:

...
While not EOF(f) do begin
readln(f,x); { читаешь строку }
if pos('stop',x)<>0 then writeln(x); { и сразу же ее проверяешь }
end;
...

Kalipsoo
Во я дурак! Такое прошляпил. Большое спасибо!
И теперь вопрос не в тему. Я в начале семестра получил задание на курсовую "Реализовать вычисление интеграла методом Чебышева". На вашем сайте мне дали ссылку на неправильно выполенную работу. Вот я хоетл бы для народа выкинуть на вашем сайте текст нормально работаюшей программы!

Заранее спасибо!
volvo
Это на АлгЛибе-то неправильно выполненная работа? Ну-ну... dry.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.