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 Открыть новую тему 
Ответов
volvo
сообщение 3.03.2005 19:18
Сообщение #2


Гость






Цитата(1nSAnder @ 3.03.05 17:32)
Помогите, если можете, решить простую (IMHO) задачку на работу с файлом.

Ну если она простая, чего же сами не решаете?

В принципе, ничего сложного. Просто читаем данные из файла последовательно, и храним индексы для чтения следующего элемента и для записи следующего элемента... Перезаписываем, естественно, только ненулевые элементы. Остаток файла забиваем нулями. Примерно вот так:
Код
const
 n = 10;
var
 f: file of double;

var
 i: integer;
 x: double;
 f_read, f_write: longint;

begin
 assign(f, 'test.ttt');
 rewrite(f);

 for i := 1 to n do
   begin
     write('x(', i, ') = ');
     readln(x); write(f, x)
   end;

 reset(f);

 { устанавливаем начальные значения указателей }
 while { есть что читать } do
   begin
     { прочитать следующий элемент в X и передвинуть указатель для чтения }

     if x <> 0 then { записать X в файл и передвинуть указатель для записи }
   end;

 { до конца файла перезаписать компоненты нулями }

 WriteLn('Проверка:');
 reset(f);
 while not eof(f) do
   begin
     read(f, x);
     writeln(x:8:4)
   end;

 close(f)
end.
 К началу страницы 
+ Ответить 
1nSAnder
сообщение 4.03.2005 16:31
Сообщение #3





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

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


Спасибо. Нет, дело не в том, что я из лени, что ли, не хочу решать, а в том ч, что задачи-то можно решить разными способами...
Я, например, решал (вернее, пробовал) её много др. способом.
 Оффлайн  Профиль  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:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"