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

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

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

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





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

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


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

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


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

 



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