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

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

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

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Строки...
sandman
сообщение 4.09.2003 22:00
Сообщение #1


Пионер
**

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

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


Вроде несложная задачка..
"В текстовом файле (размер до 600kb) удалить все символы перевода строки."
А как подступиться не знаю.. Мозга не варит sad.gif Советом, хоть помогите...


--------------------
Плавают разными стилями, тонут-одним (ц) Кирпичи
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 5.09.2003 10:34
Сообщение #2


Четыре квадратика
****

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

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


Первое, что пришло в голову - читать из файла ReadLn'ом, а писАть Write'ом (правда, придется заводить для этого разные файлы, но я все равно не знаю способа именно изменять файл - умею или только писАть, или только читать sad.gif)


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ivs
сообщение 5.09.2003 21:15
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 209

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


Перевод строки это если я не ошибаюсь символ #10. Так что мешает. Читай Read'ом символ, и если он не "символ перевода строки", то пиши в новый файл Writ'ом.
Ну а дальше удаляй старый и переименовывай новый.


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
sandman
сообщение 5.09.2003 21:23
Сообщение #4


Пионер
**

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

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


Цитата
Перевод строки это если я не ошибаюсь символ #10. Так что мешает. Читай Read'ом символ, и если он не "символ перевода строки", то пиши в новый файл Writ'ом.
Ну а дальше удаляй старый и переименовывай новый.


тогда имхо быстрее будет так, как написал trminator...


--------------------
Плавают разными стилями, тонут-одним (ц) Кирпичи
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ivs
сообщение 5.09.2003 21:30
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 209

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


Цитата

тогда имхо быстрее будет так, как написал trminator...

Нет, так будет неправильно.


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
zx1024
сообщение 5.09.2003 21:40
Сообщение #6


Пионер
**

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

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


>sandman
Pascal делает то же самое (читает перевод строки), поэтому скорость зависит от реализации.
>Ivs
#10 #13
>Ну а дальше удаляй старый и переименовывай новый.
Слишком долго, т.к. идёт обращение к винту.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ivs
сообщение 5.09.2003 21:43
Сообщение #7


Бывалый
***

Группа: Пользователи
Сообщений: 209

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


Цитата
>Ivs
#10 #13
.

А я думал что это символы перевода строки и возврата корретки.


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ivs
сообщение 5.09.2003 21:45
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 209

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


Цитата
>Ну а дальше удаляй старый и переименовывай новый.
Слишком долго, т.к. идёт обращение к винту.

Ваш вариант.


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
zx1024
сообщение 5.09.2003 21:56
Сообщение #9


Пионер
**

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

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


Ivs
Так они по одному редко используются. Тем более в этой задаче. Тем более после ответа про ReadLn.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
zx1024
сообщение 5.09.2003 21:58
Сообщение #10


Пионер
**

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

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


Ivs.
Я имел ввиду то, что не стоит после каждого нахождения #10 работать с файлами (физически).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
zx1024
сообщение 5.09.2003 22:00
Сообщение #11


Пионер
**

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

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


Ivs.
P.S. Просьба: не надо меня на Вы. Пожалуйста.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ivs
сообщение 5.09.2003 22:01
Сообщение #12


Бывалый
***

Группа: Пользователи
Сообщений: 209

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


Хорошо тогда так: Читай Read'ом символ, и если он не "символ перевода строки" и "возврата корретки", то пиши в новый файл Writ'ом. Проверил работает.
Вариант с readln'ом не работает.


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ivs
сообщение 5.09.2003 22:02
Сообщение #13


Бывалый
***

Группа: Пользователи
Сообщений: 209

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


Цитата
Ivs.
P.S. Просьба: не надо меня на Вы. Пожалуйста.

Как хочешь.


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
zx1024
сообщение 5.09.2003 22:33
Сообщение #14


Пионер
**

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

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


Ivs.
Наверное, мне придётся извиниться за  <06.09.2003 00:40:07>.
Ведь в условии ничего не было про возврат корретки.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
sandman
сообщение 6.09.2003 6:57
Сообщение #15


Пионер
**

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

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


Всем спасибо. Все понял. Во всем разобрался smile.gif


--------------------
Плавают разными стилями, тонут-одним (ц) Кирпичи
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 9.09.2003 18:11
Сообщение #16


Четыре квадратика
****

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

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


Цитата
Вариант с readln'ом не работает.

Я согласен, правильнее было бы обрабатывать по символам, как ты рекомендовал. Но это грустно и тоскливо (по-моему). Поэтому я предложил такой способ.

Но мне интересно, почему он у тебя не проходит. Я его только что прогнал - он работает (Delphi console application)
Код

program Project2;
{$APPTYPE CONSOLE}
uses
 SysUtils;
var input, output : text;
   s: string;
begin
 assign(input,'input.txt');
 assign(output,'output.txt');
 reset(input);
 rewrite(output);

 while not EOF(input) do begin
   ReadLn(input,s);
   Write(output,s)
 end;

 close(input);
 close(output);
end.

Сейчас проверю в BP7


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GLuk
сообщение 16.09.2003 5:39
Сообщение #17


Профи
****

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

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


А як же BlockRead/Write??!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 16.09.2003 8:37
Сообщение #18


Четыре квадратика
****

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

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


ммм... при чем тут BlockRead? Это же текстовый файл, зачем BlockRead?


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
sandman
сообщение 16.09.2003 8:54
Сообщение #19


Пионер
**

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

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


Всем спасибо за ответы и предложения, но задача усложняется... smile.gif Возможно, что файл в koi8-r smile.gif
Тогда что? smile.gif


--------------------
Плавают разными стилями, тонут-одним (ц) Кирпичи
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 16.09.2003 18:23
Сообщение #20


Четыре квадратика
****

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

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


так... По идее, нам все равно, в каком там порядке идут русские буковки (да хоть маковская кодировка, #10#13 они такими и будут). Но. Возможно, мы имеем тогда дело с файлом в стиле Unix, а там принято строку заканчивать не #10#13 а просто #10. Тогда читаем по байту, если это не #10, то записываем.

В общем, все то же самое


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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