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

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

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

 
 Ответить  Открыть новую тему 
> Строки и Файл, Простая, но опять не работающая программа
Kalipsoo
сообщение 27.12.2007 11:38
Сообщение #1


Новичок
*

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

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


Добрый всем день! )

Суть задачи:

Составим 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 27.12.2007 11:45
Сообщение #2


Гость






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

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

 К началу страницы 
+ Ответить 
Kalipsoo
сообщение 27.12.2007 13:02
Сообщение #3


Новичок
*

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

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


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

Заранее спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 27.12.2007 13:13
Сообщение #4


Гость






Это на АлгЛибе-то неправильно выполненная работа? Ну-ну... dry.gif
 К началу страницы 
+ Ответить 

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

 



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