Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Поменять строки из цифр в файле местами

Автор: CristobaL 22.05.2007 5:10

Господа, прошу оказать мне посильную помощь. Первое задание по файлам в ВУЗе.
Есть файл. Условно: "input.txt" , содержащий n-строк из трех цифр от 1 до 9.
Пример:

222
555
333

нужно отсортировать эти строки по возрастанию чисел в строках и записать результат в файл: "output.txt"
Я начинающий. Поиск использовал, но подобного не обнаружил. Сдавать уже надо. Помогите с кодом.


Автор: мисс_граффити 22.05.2007 5:13

Цитата
Условно: "input.txt"

Файл - текстовый?
Содержатся только 111, 222,333...999? Никаких 125 или 589 нет?

Автор: CristobaL 22.05.2007 5:18

Файл текстовый. Цифры только одинаковые.

Автор: мисс_граффити 22.05.2007 5:27

как-то так пойдет?

var f: text;
num: array[1..9] of integer;
curr,i: integer;

begin
assign(f,'fail.txt');
{$I-}
reset(f);
{$I+}
if IOResult<>0 then
begin
writeln('error!');
readln;
exit;
end;
for curr:=1 to 9 do
num[curr]:=0;
while not eof(f) do
begin
readln(f,curr);
inc(num[curr div 100]);
end;
close(f);
rewrite(f);
for curr:=1 to 9 do
for i:=1 to num[curr] do
writeln(f,curr*100+curr*10+curr); {writeln(f,curr,curr,curr)}
close(f);
end.

(набирала здесь, не проверяла)
пишется в один и тот же файл.
если хочешь, чтобы в разные - перед записью сделай assign(f,'имя второго файла')

Автор: CristobaL 22.05.2007 5:33

Создал в корне с файлом текстовый файл Fail.txt В нём 3 строчки 555 *энтер*111 *энтер* 222.
При запуске программа выдает error!

Автор: мисс_граффити 22.05.2007 5:35

текстовый файл должен находиться в одной папке с программкой.
ну или исправь
assign(f,'fail.txt');
на assign(f,'полный путь к твоему файлу')

Автор: CristobaL 22.05.2007 5:36

что проверяет команда IOResult и в каком случае какой флаг возвращается?

Автор: мисс_граффити 22.05.2007 5:38

Успешность открытия файла
Если все прошло гладко - вернет 0
Иначе - код ошибки. Уж извини, наизусть их не помню

Автор: CristobaL 22.05.2007 5:44

Прописал полный путь к файлу fail.txt ВСЕ заработало! Жаль что не получилось в корневом каталоге создать...

Огромное вам спасибо за столь скороспешную, и самое главное очень нужную помощь, мисс_граффити. С удовольствием повысил бы вашу репутацию, да незнаю пока как.

Автор: мисс_граффити 22.05.2007 5:57

Пока - никак smile.gif
Сообщений мало.