Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 379
от 24.05.2007, 21:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 254, Экспертов: 64
В номере:Вопросов: 1, Ответов: 3


Вопрос № 87639: помогите чуваки. в лабе нужно из одного файла считать числа, если число четное записать его в др. файл. вот моя попытка:...

Вопрос № 87.639
помогите чуваки. в лабе нужно из одного файла считать числа, если число четное записать его в др. файл. вот моя попытка:

Приложение:

Отправлен: 19.05.2007, 17:44
Вопрос задал: Beerb0x (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Verena
Здравствуйте, Beerb0x!
Если в условии об жтом не сказано особо, то файл никогда (по возможности) не переписывается в память, поскольку он может быть сколь уголно большим. Создавать здесь динамический массив нет нужды, просто читаем одно число, проверяем, если подходит, записываем в новый файл. И ещё eof - функция boolean типа, так что её используют не так. Код в приложении.

Приложение:

---------
Эта история - не для истории, понимаешь?

Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 19.05.2007, 20:34

Отвечает: Djoin
Здравствуйте, Beerb0x!
В приложении полное решение вашей задачи!

Приложение:

---------
Мыши кололись, плакали, но продолжали жрать кактус

Ответ отправил: Djoin (статус: 3-ий класс)
Ответ отправлен: 19.05.2007, 20:39

Отвечает: Gh0stik
Здравствуйте, Beerb0x!

Раз Вам всетаки нужно использовать динамические переменные, то предложу Вам такой вариант. Из исходного файла считать все данные и записать их в динамический список, далее просматриваем все элементы списка и если они соответствуют условию записываем в файл.

Вот сам код программы:
Program PrimPoint;
Type pR = ^sp;
sp = record
c:integer;
u:pR;
end;
Var i,k: integer;
tek,fst,v:pR;
fa, fb: file of integer;
Begin
assign (fa, 'c:1.txt');
{ rewrite(fa); for i:=1 to 10 do write(fa,i); close(fa);} {блок который при необходимости можно раскоментировать - создает типизированный файл}
reset(fa);
new(tek); {создаем новый список}
tek^.u:=nil; {формируем указатель на следующий элемент}
read(fa,tek^.c); {заполняем элемент первым элементом из файла}
fst:=tek; {запоминаем адрес первого элемента списка в отдельной переменной}
i:=0;
repeat {пока не конец файла заполняем список данными}
new(v);
v^.u:=nil;
read(fa,v^.c);
inc(i);
tek^.u:=v;
tek:=v;
until eof(fa);

assign(fb,'c:2.txt'); {начинаем работу со вторым файлом}
rewrite(fb);
tek:=fst;
for k:=0 to i do {проходим все элементы списка}
begin
if not odd(tek^.c) then write(fb,tek^.c); {если элемент соответствует условию то мы записываем его в файл}
tek:=tek^.u; {переходим на следующий элемент списка}
end;
reset(fb);
while not eof(fb) do {блок который выводит содержимое нового файла на экран}
begin read(fb,i);writeln(i);end;
dispose(fst);
dispose(v);
readln;
End.


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 20.05.2007, 18:32


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное