Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ файлы

Автор: 1211 16.12.2007 18:48

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

Автор: 1211 19.12.2007 17:41

Ну, подскажите, как копировать один файл в другой я знаю, но остальные... Это через seek ?

Автор: andriano 19.12.2007 22:21

seek с текстовыми файлами не работает.

Автор: Lapp 20.12.2007 3:31

Проще всего, думаю, считывать файл как file of char.
Читаешь посимвольно.
Пока идут буквы - это одно слово.
Считываешь 100 слов в массив s: array[1..100]of string[10].
В цикле записываешь:

for i:=1 to 50 do WriteLn(s[i],' ',s[i+50]);

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

Автор: andriano 20.12.2007 3:55

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 символов? (а еще есть слова, которые пишутся через дефис) ;)