![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
помогите пожалуйста написать цикл который после каждого положительного числа файла F1 вставит 0.....
Код:
while
not eof(f1) do
begin
read(f1,n);
if n>0 then n: ??????????
inc(co)Не могу понять как после положительного вставить 0...; Последний раз редактировалось Admin, 12.12.2009 в 14:55. |
|
#2
|
||||
|
||||
|
Кому вставить? С этого места поподробнее пожалуйста.
![]() |
|
#3
|
|||
|
|||
|
Видимо, туда же в файл, после положительного числа)
Если так, то возникает одна проблема, нужно сдвигать остаток файла, при вставке числа 0, данную трудность, можно решить следующими способами: а) считать сначала весь файл в массив, а после записывать этот массив в этот же файл, попутно проверяя числа и записывая нули, б) создать временный файл, читать основной, проверяя числа и записывая их во временный файл (с нулями если требуется), а после удалить основной файл и переименовать временный в основной. |
|
#4
|
|||
|
|||
|
Как енто будет выглядеть на языке программирования делфи??!!!
|
|
#5
|
|||
|
|||
|
Код:
...
AssignFile(f1, 'original.dat');
Reset(f1);
AssignFile(f2, 'temp.tmp');
Rewrite(f2);
while not eof(f1) do
begin
read(f1,n);
write(f2,n);
if n>0 then write(f2, 0);
end;
CloseFile(f2);
CloseFile(f1);
DeleteFile('original.dat');
Rename(f2, 'original.dat'); |
|
#6
|
|||
|
|||
Огромное спасибо!!!! Я только первокурсница поэтому ещё мало чего понимаю в делфи ![]() |