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

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

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

> Задача на работу с файлами., Сортировка файла.
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской

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


Здравствуйте! Помогите, если можете, решить простую (IMHO) задачку на работу с файлом.
Вот условие.
_Ввести с клавиатуры файл действительных чисел.
_Переместить в нём все нули в конец, сохраняя порядок следования остальных компонент.
_ДОПОЛНИТЕЛЬНЫЙ ФАЙЛ ИЛИ МАССИВ НЕ СОЗДАВАТЬ!
_Выдать результирующий файл или сообщение, что это невозможно...
Заранее премного благодарен.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 8
Пол: Мужской

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


Вот...
Это всё, что я нарешал...
Код

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: 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 do
               begin
                 seek (ff,i);
                 read (ff,x);
                 seek (ff, i-1);
                 write (ff,x)
               end
           end
     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.

Тут где-то ошибка намбер 100: Диск рид еррор!!!
Найдите, пож-та, если не трудно.
З.Ы. Прогу проверял мой препод по информатике. На первый взгляд ничего не сказал. И на второй тоже. Сказал просто: "Сам думай!" (А ведь прав!!!)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата(1nSAnder @ 18.03.05 17:23)
Тут где-то ошибка намбер 100: Диск рид еррор!!!
Найдите, пож-та, если не трудно.

А самому найти? Как мы ее искать будем? Точно так же и попробуйте: F7 - пошаговый прогон. Даст Вам точное местоположение ошибки... Преподаватель информатики совершенно прав: "Сам думай!"
 К началу страницы 
+ Ответить 

Сообщений в этой теме
1nSAnder   Задача на работу с файлами.   3.03.2005 22:32
volvo   Ну если она простая, чего же сами не решаете? В …   3.03.2005 23:18
1nSAnder   Спасибо. Нет, дело не в том, что я из лени, что ли…   4.03.2005 20:31
Altair   Ну-ка подробнее.... расскажите как вы ее пробовали…   4.03.2005 21:55
1nSAnder   Вот... Это всё, что я нарешал... Program P2_3_FI…   18.03.2005 22:23
volvo   А самому найти? Как мы ее искать будем? Точно так…   18.03.2005 22:35
Guest   Ну, узазал мне TP на строчку: {Удаление нулей====…   18.03.2005 23:00
volvo   Да нет, не все правильно... Тут происходит чтение…   18.03.2005 23:05
volvo               for i…   19.03.2005 0:02
Людмила   volvo, мне показалось или у него переменная i ни…   19.03.2005 21:20
1nSAnder   Вот всё, что я надумал и исправил!!! А…   19.03.2005 21:28
volvo   Ну и кто из нас учится? Я? Держи (только прежде че…   19.03.2005 21:35
1nSAnder   Это , конечно, хорошо, но мне бы хотелось разобрат…   19.03.2005 21:50
1nSAnder   А не, всё правильно... Вернее почти всё: потребова…   19.03.2005 22:00
volvo   Вот это извините... Я в ЭТО не верю... А ошибка 1…   19.03.2005 21:59
volvo   Нет... С вашей программой (с такими знаниями - …   19.03.2005 22:03


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

 





- Текстовая версия 7.09.2025 16:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name