![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
defis |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 3 Репутация: ![]() ![]() ![]() |
???
Вот задачка: Причитать текстовой файл str.txt состоящий из произвольного числа строк, и вывести в файл str1.txt этот же текст так, чтобы в каждой строке содержалось ровно по 50 знаков. Мне сказали делать так: Читать строку если длина меньше 50 добавалять следующие строку и обрезать и строку в 2 файл и т.к. , если больше - соответственно обрезать - ну вроде бы сказал - вопрос у мя как это провернуть? |
___ALex___ |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 282 Репутация: ![]() ![]() ![]() |
берёшь и проворачиваешь
|
defis |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 3 Репутация: ![]() ![]() ![]() |
Да тока как на практике??покажи если могешь.
|
___ALex___ |
![]()
Сообщение
#4
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 282 Репутация: ![]() ![]() ![]() |
вот!
здесь входной файл читается побайтно и данные в выходной пишутся тоже побайтно(посимвольно) в связи с этим много обращений к винту, но я дал тебе идею, оптимизировать можно сколько угодно (увеличивая буфер чтения и записи). Код program ForForum; var InF: File; OutF: Text; Buf: Char; RealR: Word; i: Byte; Begin Assign(InF, 'C:Bootlog.txt'); Reset(InF, 1); Assign(OutF, 'C:New.txt'); Rewrite(OutF); repeat BlockRead(InF, Buf, 1, RealR); if RealR <> 1 then Break; if not (Buf in [#10, #13]) then begin Inc(i); if i = 50 then begin i := 0; WriteLn(OutF, Buf) end else Write(OutF, Buf); end; until False; Close(InF); Close(OutF) End. программа заключена в тег CODE (модератор) Сообщение отредактировано: Oleg_Z - 5.04.2004 11:47 |
defis |
![]()
Сообщение
#5
|
![]() Группа: Пользователи Сообщений: 3 Репутация: ![]() ![]() ![]() |
:D
ОФИГЕННОЕ пасибо...... работает - а насчет памяти - фигня. Кстати у мя вопрос - я ещё одну задачу талдычу - если не получится - мона сюда? |
AlaRic |
![]()
Сообщение
#6
|
... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Кстати у мя вопрос - я ещё одну задачу талдычу - если не получится - мона сюда? Сам хоть что-нибудь напиши, а потом кидай! |
___ALex___ |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 282 Репутация: ![]() ![]() ![]() |
если уж совсем ничего получаться не будет то кидай если не сильно громоздкая
|
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 18:17 |