![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
1nSAnder |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте! Помогите, если можете, решить простую (IMHO) задачку на работу с файлом.
Вот условие. _Ввести с клавиатуры файл действительных чисел. _Переместить в нём все нули в конец, сохраняя порядок следования остальных компонент. _ДОПОЛНИТЕЛЬНЫЙ ФАЙЛ ИЛИ МАССИВ НЕ СОЗДАВАТЬ! _Выдать результирующий файл или сообщение, что это невозможно... Заранее премного благодарен. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Код for i:=n to fs - 1 do Что-то типа этого ... ![]() |
Людмила |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 43 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 18.03.05 23:02) Код for i:=n to fs - 1 do Что-то типа этого ... ![]() volvo, мне показалось или у него переменная i нигде не описана? -------------------- хороших людей мало... полезных ещё меньше....
|
1nSAnder |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот всё, что я надумал и исправил!!!
А прога всё равно не пахает!!! Исходный код Program P2_3_FILE; Type tf= file of integer; Var f: tf; siz:longint; {Ввод файла=================================================} Procedure InputF (var ff:tf); Var x:integer; Begin writeln ('Создание файла. Конец файла = 777'); rewrite (ff); write ('Ввод компоненты '); readln (x); while x<>777 do begin write (ff,x); write ('Ввод компоненты '); readln (x) end; close (ff); End; {Вывод файла================================================} Procedure OutputF (var ff:tf); Var x: integer; Begin writeln ('Вывод файла '); reset (ff); while not eof (ff) do begin read (ff,x); write (x, ' ') end; writeln; close (ff); writeln ('Вывод закончен'); End; {Удаление нулей=============================================} Procedure DelOf0 (var ff:tf); Var x,y: integer; n,i: byte; fs: longint; Begin reset (ff); fs:= filesize (ff); while not eof (ff) do begin read (ff,x); if x=0 then begin n:= filepos (ff)-1; for i:=n to fs-1 do begin seek (ff,i); read (ff,x); seek (ff,i-1); write (ff,x) end end; seek (ff,fs-1); truncate (ff) end; close (ff) End; {Добавление нулей===========================================} Procedure Add0 (var ff:tf; var fs:longint; q: integer); Begin reset (ff); seek (ff, filesize (ff)); while filesize (ff)<=fs do begin write (ff,q) end; close (ff) End; {Основная программа=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} BEGIN Assign (f, 'fx.d'); InputF (f); OutputF (f); DelOf0 (f); Add0 (f,siz,0); OutputF (f) END. |
![]() ![]() |
![]() |
Текстовая версия | 7.09.2025 16:45 |