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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2013, 02:29   #1
Visockiy
Пользователь
 
Аватар для Visockiy
 
Регистрация: 27.12.2012
Сообщений: 10
По умолчанию Программирование с использованием текстовых файлов

Ребята! Помогите написать прогу. Всё вроде и легко но не получается ничего толкового. Условие:
(Дан текстовый файл f. Получить все его строки, содержащие более 6 слов и вывести их в другой файл.)

вот сам код. (паскаль)
Код:
program zad1;
var f1,f2:text;
i,n,k:integer;
s:string;
begin
assign(f1,'oldf');
rewrite(f1);
readln(n); //кол-во строк
for i:=1 to n do
begin
 readln(s);
 writeln(f1,s);
 end;
 close(f1);
 reset(f1);
 assign(f2,'newf');
 rewrite(f2);
 while not eof(f1) do
 begin
 readln (f1,s);
 k:=0;
 for i:=1 to length(s) do begin
 if s[i]=' ' then k:=k+1;
 if k>6 then
 writeln(f2,s);
 end;
 close(f1);
 close(f2);
 writeln;
 reset(f2);
 rewrite(f2);
 while not eof(f2) do
 begin
 readln(f2,s);
 writeln(s);
 end;
 end;
end.
не могу разобраться чего паскаль ругается. помогите кто может



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 21.03.2013 в 08:29.
Visockiy вне форума Ответить с цитированием
Старый 21.03.2013, 07:50   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

1. Код надо оформлять так, чтобы его можно было читать (тег CODE).
2. Как именно "ругается" и на какие именно строки?
s-andriano вне форума Ответить с цитированием
Старый 21.03.2013, 09:59   #3
Visockiy
Пользователь
 
Аватар для Visockiy
 
Регистрация: 27.12.2012
Сообщений: 10
По умолчанию

Ошибка ввода/вывода 104: фаил не открыт для ввода(Program4.pas, строка 32)
Вот так вот
Visockiy вне форума Ответить с цитированием
Старый 21.03.2013, 10:11   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
reset(f2);
 rewrite(f2);
зачем после reset rewrite?
Код:
writeln;
 reset(f2);
 while not eof(f2) do
 begin
 readln(f2,s);
 writeln(s);
 end;
 end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 21.03.2013, 10:26   #5
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Visockiy, как Вы думаете, зачем в программах принято делать отсутупы?
Расставьте отступы в соответствии с вложенностью блоков, и ошибки в Вашей программе станет искать намного проще. Скорее всего, вы сами без посторонней помощи обнаружите ошибки в процессе расстановки правильных отсутпов.
s-andriano вне форума Ответить с цитированием
Старый 21.03.2013, 11:49   #6
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

Код:
assign(f1,'oldf');
rewrite(f1);
readln(n); //кол-во строк
for i:=1 to n do
begin
 readln(s);
 writeln(f1,s);
 end;
 close(f1);
А зачем вообще этот блок если файл дан?
netpolice вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритмизация и программирование задач создания и обработки типованих и текстовых файлов Саша1194 Паскаль, Turbo Pascal, PascalABC.NET 4 20.03.2012 22:14
ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ЗАПИСЕЙ И ФАЙЛОВ(Delphi) MaDDi Помощь студентам 3 18.02.2012 16:30
Программирование с использованием записей и файлов andrew932006 Помощь студентам 0 19.12.2011 11:58
Программирование с использованием записей и файлов fuzo Помощь студентам 4 06.10.2010 20:14
Обработка текстовых файлов Frenki Помощь студентам 4 17.05.2009 14:52