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

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

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

 
 Ответить  Открыть новую тему 
> файлы
1211
сообщение 16.12.2007 14:48
Сообщение #1


Гость






Помогите с задачами.
1Реализуйте последовательное добавление содержимого трех нетипизированных файлов к первоначально пустому файлу с заданным именем.
2.Дан текстовый файл f. Предполагается, что длина одного слова не превосходит десяти и что число слов делится на 100. Подготовить файл для печати слов в две колонки по пятьдесят строк на странице. Слова должны быть размещены в файле f1 в следующем порядке: 1-е слово, 51-е слово, 2-е слово, 52-е слово,..., 50-е слово, 100-е слово, затем (следующая страница) 101-е слово, 151-е слово,..., 150-е слово, 200-е слово и т.д.
 К началу страницы 
+ Ответить 
1211
сообщение 19.12.2007 13:41
Сообщение #2


Гость






Ну, подскажите, как копировать один файл в другой я знаю, но остальные... Это через seek ?
 К началу страницы 
+ Ответить 
andriano
сообщение 19.12.2007 18:21
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

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


seek с текстовыми файлами не работает.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.12.2007 23:31
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Проще всего, думаю, считывать файл как file of char.
Читаешь посимвольно.
Пока идут буквы - это одно слово.
Считываешь 100 слов в массив s: array[1..100]of string[10].
В цикле записываешь:
for i:=1 to 50 do WriteLn(s[i],' ',s[i+50]);

Только не совсем понятно, чем разделять страницы. Пустой строкой?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 19.12.2007 23:55
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

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


for i := 1 to 50 do begin
write(t,s[i]);
if length(s[i]) < MaxLength then
for j := 0 to MaxLength-length(s[i])-1 do
write(t,' ');
writeln(t,s[i+50]);
end;
writeln(t,#12);

PS. Можно обойтись 51 строкой.
PPS. Где уверенность, что, скажем, слово "понедоброжелательствовать" уместится в 10 символов? (а еще есть слова, которые пишутся через дефис) ;)

Сообщение отредактировано: andriano - 20.12.2007 0:00
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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