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

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

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

> В продолжение прошлой темы о Файлах
Geroi
сообщение 2.05.2003 16:17
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 29

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


Её явно закрыли, а вопросы остались.
Спасибо тем, кто помог. Сейчас буду сидеть разбиратся.
Ну а вот на счёт первой задачи как быть? У меня единственнйы вопрос, как там сделать замену числа? Решать её ненадо !!! Просто подскажите, как заменить в файле чётное число на его произведние, Т.е.
К примеру у нас в файле написано: 2, 13, 45, 56. Нам надо, чтоб там стало 4, 13, 45, 112. Вот как сделать, чтоб чётное число заменялось, без создание нового файла и писалось на том же месте.
СРазу говорю, число максимальное будет 15000. Чтоб не было лишних разговоров. Ну а если Я там был не прав, то извиняюсь. Хотя наврядли !
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
___ALex___
сообщение 2.05.2003 20:49
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 282

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


как и обещал:

program For_Forum;
uses Crt;
type
 MyFile = File of Integer;
var
 F: MyFile;
 i: Integer;

Begin

 ClrScr;
 WriteLn('Исходное содержание файла:');
 Assign(F, 'C:InFile.dat');
 Rewrite(F);
 for i := 1 to 19 do begin Write(F, i); Write(i:4); end;
 WriteLn;
 WriteLn('Конечное содержание файла:');
 Seek(F, 0);
 while not Eof(F) do begin
  Read(F, i);
  if i mod 2 = 0 then begin
   Seek(F, FilePos(F) - 1);
   i := i * 2; { так пишу потому что компилятор
                     сразу писать Write(F, 2 * i) не даёт и даже
                     приведение не помогает типа Write(F, Integer(2 * i)) ! }
   Write(F, i);
  end;
  Write(i:4);
 end;
 Close(F);
 Erase(F);
 repeat until KeyPressed

End.


Без BlockRead/... но это без разницы - принцип там тот же - делал как по условию задачи от Нас требовали

to GLuk
У тебя по асме какая книжка?
to Geroi
"Сейчас буду сидеть разбиратся. "
Вот это уважаю!
вот слова написанные одной программистой
"Никакой Интернет со всеми его конференциями, статьями и примерами никогда не заменит программисту собственного опыта. Только то, что добыто (разобрано и понято) своими силами, запоминается надолго и приносит пользу.
Опыта надо набираться обязательно. Читайте help, ищите ответ в исходниках, экспериментируйте с проектом сколько душе угодно, но только обязательно сами... "

в них Истина!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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