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

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

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

> Файлы, Ошибка в коде...
Clerick
сообщение 13.04.2006 18:39
Сообщение #1


студент..
***

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

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


Дали след. задачу: дан файл с неизвестным кол-вом строк, нужно в начало каждой строки поставить кол-во символов, а в конец файла кол-во строк. Первую часть я вроде сделал, а вот со второй никак... Помогите найти ошибку!!! Заранее благодарен!!! smile.gif
uses crt;
var a:array [1..100] of string[105];
i,j,m,k:integer;
s:string;
f:text;
begin
assign (f,'chukcha.txt');
reset (f);
begin
repeat
readln (f, a[i]);
i:=i+1;
j:=j+1;
until eof(f);
end;
close(f);

for i:=1 to j do begin
m:=length(a[i]);
str(m, s);
insert (s, a[i], 1);
end;

rewrite (f);
for k:=1 to j do
begin
Writeln(f, a[k]);
end;
Write (f,j);

close (f);
end.


--------------------
После дождя обязательно выглянет солнце)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 13.04.2006 18:54
Сообщение #2


Гость






Цитата(Clerick @ 13.04.2006 18:39)
дан файл с неизвестным кол-вом строк

Так может лучше обойтись БЕЗ массива? Ведь количество строк может быть и больше размерности массива...
var
j: integer;
s: string;
f, f_out: text;

begin
assign(f,'f.txt'); reset (f);
assign(f_out, 'tmp.txt'); rewrite(f_out);

j := 0;
while not eof(f) do begin
readln(f, s); inc(j);
writeln(f_out, length(s), ' ' + s);
end;
writeln(f_out, j);

close(f); close(f_out);
erase(f); rename(f_out, 'f.txt');
end.

Будет работать, если в файле нет строк длиннее 255 символов...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Clerick   Файлы   13.04.2006 18:39
volvo   дан файл с [b]неизвестным кол-вом строк Так может ...   13.04.2006 18:54
Clerick   Так может лучше обойтись БЕЗ массива? Ведь количе...   13.04.2006 19:00
volvo   Так: uses crt; var a:array [1..100] of string[10...   13.04.2006 19:07
Clerick   Хм... Неверно работает... Первая часть все круто, ...   13.04.2006 19:18
volvo   Не знаю. У меня работает как положено. Приведи сво...   13.04.2006 19:22
Clerick   Не знаю. У меня работает как положено. Приведи св...   13.04.2006 19:29
klem4   А ты уверен что в входном файле, в конце нету пуст...   14.04.2006 6:56
Clerick   Уверен! Я же ее не создаю! Кстати, когда о...   20.04.2006 17:54
Malice   Я думаю, что ты в своей проге исправил строку fo...   20.04.2006 18:14
Clerick   Я думаю, что ты в своей проге исправил строку [c...   20.04.2006 19:14
Malice   Так сказал [b]volvo... Тогда, да. [b]Volvo зря н...   20.04.2006 19:48
Clerick   Тогда, да. [b]Volvo зря не скажет. Сорри модерато...   23.04.2006 14:54
volvo   А ты программу, которую я привел, внимательно изуч...   20.04.2006 19:19


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

 



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