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

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

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

 
 Ответить  Открыть новую тему 
> Сортировка типизированного файла
сообщение
Сообщение #1





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

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


Подскажите как сделать такую вещь. У меня есть типизированный файл, где содержится информация о книгах: Название книги, автор, год издания, кол-во страниц. Приведите пожалуйста код или программу, которая реализует считывание данных из этого файла и их сортировку в алфавитном порядке по авторам и запишет уже отсортированные строки в текстовой файл.
С меня огромное спасибо rolleyes.gif

Вот программа которая создает этот типизированный файл:

program prog; {начало пограммы}

type
book = record {создаем тип записей book}
name:string[20];
autor:string[20];
god:integer;
str:integer;
end;
bk=file of book; {создаем переменную файлового типа}
var i:byte; {Объявляем переменные}
f:bk;
books:book;
q:char;
begin
assign(f,'C:\pas\book.dat'); {связываем файл book.dat с файловой переменной f}
rewrite(f); {открываем файл для записи}
i:=0;
repeat
inc(i);
with books do begin {ссылаемся на переменную books и заносим данные в оперативную память}
write('Nazvanie ',i,' knigi:');readln(name);
write('Autor:');readln(autor);
write('God:');readln(god);
write('Str:');readln(str);
end;
write(f,books); {записываем данные в файл}
writeln('Prodolzhat ?'); {запрос на продолжение(по условию продолжать нужно 10 раз)}
readln(q); {считываем переменную q}
until (q<>'Y' )and(q<>'y'); {заканчиваем, если q не равно Y или y}
close(f); {закрываем файл f}
end. {конец программы}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата(TviSt_ @ 16.04.2006 9:44)
Приведите пожалуйста код или программу, которая реализует считывание данных из этого файла и их сортировку в алфавитном порядке по авторам и запишет уже отсортированные строки в текстовой файл.

Правила и FAQ Форума уже не для тебя? Ты ИЗБРАННЫЙ??? mad.gif

FAQ: Как упорядочить данные по возрастанию - пример для массива записей

Как прочесть данные из файла в массив - смотри здесь: FAQ: Файлы

Можешь использовать внешнюю сортировку - тоже решалось, ищи сам, ссылка на Поиск - у меня в подписи.
ЗА ТЕБЯ программу писать никто не будет - это ТЕБЕ нужно...
 К началу страницы 
+ Ответить 

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

 




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