• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Описание функции SplitIntFile

Катуха

Новые
Регистрация
17 Дек 2008
Сообщения
14
Реакции
0
Баллы
0
Описание функции SplitIntFile

Помогите написать задачку, пожалуйста.(на паскале)
Описать процедуру SplitIntFile (Name0,k,Name1,Name2), копируюшую первые k(>=0) элементов существующего файла целых чисел с именем Name0 в файл Name1, а остальные элементы - в файл Name2 (прежнее содержимое результирующих файлов стирается). Один из результирующих файлов может оказаться пустым. Применить эту процедуру к файлу Name0, используя значения Name1, Name2 и k.
 
Вот. Если я правильно понял.

Program SPLIT;

VAR

k,j:INTEGER;
fxx:TEXT;

PROCEDURE SplitIntFile(Nm0, Nm1, Nm2:STRING; KS:INTEGER);
VAR
i,x:Integer;
EoF_Nm0:BOOLEAN;
f0,f1,f2:TEXT;

BEGIN

Assign(f0, Nm0);
ReSet(f0);
Assign(f1, Nm1);
ReWrite(f1);
Assign(f2, Nm2);
ReWrite(f2);

i:=1;
WHILE (NOT EoF(f0)) AND (i<=k) DO
BEGIN
Read(f0, x);
Write(f1,x:10);
EoF_Nm0:=EoF(f0);
INC(i)
END;

Close(f1);

IF (NOT EoF_Nm0) THEN
REPEAT
Read(f0,x);
Write(f2,x:10);
UNTIL EoF(f0);

Close(f0);
Close(f2);

END; {SplitIntFile}

BEGIN

{Тестовое заполнение файла с именем Name0}
Assign(fxx, 'D:\Name0');
{D:\ - это место размещения файлов; может быть изменено}
ReWrite(fxx);
FOR j:=1 TO 100 DO Write(fxx, j:10);
Close(fxx);

Write('Введите k '); ReadLn(k);

SplitIntFile('D:\Name0', 'D:\Name1', 'D:\Name2', k);

END.
 
Спасибо преогромное))))))Очень выручил))
 
Назад
Сверху