![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
sds |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: ![]() ![]() ![]() |
Пожалуста помогите очень нужно. Скоро зачеты
Создайте файл Каталог книг. Занесите в отдельный файл все произведения заданного пользователем автора. Структура записи файла Каталог книг: автор (40 знаков), название (80 знаков), год издания (4 знака), специальность (40 знаков). Записи упорядочены по фамилиям автора. Очень нужен текст программы. ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО. |
![]() ![]() |
sds |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну хоть чем-нибудь помогите
|
klem4 |
![]()
Сообщение
#3
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Сам-то пробовал делать ? Если да, то выкладывай что есть, посмотрим, если нет, скажи что конкретно вызывает затруднение. Если "я вообще не знаю с чего начать", тебе сюда: Записи. Record.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
sds |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: ![]() ![]() ![]() |
Так это вроде не запись а в большей степени работа с файлами. Затруднение вызывает упорядочить по фамилиям авторов
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата Так это вроде не запись а в большей степени работа с файлами. Хотелось бы уточнить, работа с типизированными файлами, что неотделимо от работы с записями...Насчет Цитата упорядочить по фамилиям авторов - никаких сложностей возникать не должно, есть 2 пути:1) работать с данными через массив (т.е. считать все из файла в массив, его отсортировать, КАК это можно сделать по значению любого поля - есть тема еще на этой странице, поднимался вопрос совсем недавно), и записать обратно в файл 2) сортировать напрямую содержимое файла (не рекомендуется, ибо работать будет медленнее, да и некрасиво это) - тоже не вижу проблем: типизированные файлы - это файлы со случайным доступом, т.е. алгоритм будет такой же, как и при сортировке массива, но с позиционированием в файле через Seek... Ну, или см. сортировку Неймана. |
-sds- |
![]()
Сообщение
#6
|
Гость ![]() |
Я тут кое-что сделал . Может проверите,мне кажется не совсем соответствует заданию
program q; type cat=record avtor:string[40]; nazv:string[80]; god:string[4]; spec:string[40]; end; var s1,s2:string; i,n:integer; f1,f2:text; d:array [1..100] of cat; begin writeln('vvedite n'); readln(n); writeln('vvedite put k 1-my faily'); readln(s1); assign(f1,s1); writeln('vvedite put k 2-my faily'); readln(s2); assign(f2,s2); rewrite(f1); writeln('вводите авторов в алфавитном порядке'); for I:=1 to n do with d[i] do begin writeln('vvesti avtora'); readln(avtor); writeln(f1,avtor); writeln('vvesti nazvanie'); readln(nazv); writeln(f1,nazv); writeln('vvesti god'); readln(god); writeln(f1,god); writeln('vvesti special'); readln(spec); writeln(f1,spec); end; close(f1); reset(f1); rewrite(f2); writeln('введите автора для поиска'); readln(s1); while not(eof(f1)) do for i:=1 to n do begin readln(f1,s2); if s1=s2 then writeln(f2,d[i].nazv); end; close(f1); close(f2); end. |
-sds- |
![]()
Сообщение
#7
|
Гость ![]() |
Как преобразовать данную прогу чтобы записи были упорядочены по фамилии автора?????
|
мисс_граффити |
![]()
Сообщение
#8
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата writeln('вводите авторов в алфавитном порядке'); по-моему, ты уже возложил ответственность за это на пользователя... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
-sds- |
![]()
Сообщение
#9
|
Гость ![]() |
Ну хорошо:
program q; type cat=record avtor:string[40]; nazv:string[80]; god:string[4]; spec:string[40]; end; var s1,s2:string; i,n:integer; f1,f2:text; d:array [1..100] of cat; begin writeln('vvedite n'); readln(n); writeln('vvedite put k 1-my faily'); readln(s1); assign(f1,s1); writeln('vvedite put k 2-my faily'); readln(s2); assign(f2,s2); rewrite(f1); for I:=1 to n do with d[i] do begin writeln('vvesti avtora'); readln(avtor); writeln(f1,avtor); writeln('vvesti nazvanie'); readln(nazv); writeln(f1,nazv); writeln('vvesti god'); readln(god); writeln(f1,god); writeln('vvesti special'); readln(spec); writeln(f1,spec); end; close(f1); reset(f1); rewrite(f2); writeln('введите автора для поиска'); readln(s1); while not(eof(f1)) do for i:=1 to n do begin readln(f1,s2); if s1=s2 then writeln(f2,d[i].nazv); end; close(f1); close(f2); end. Как тогда упорядочить по фамилиям????? |
Ozzя |
![]()
Сообщение
#10
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Давно-давно, когда я решал подобную задачу на сортировку записей, то делал так:
Склеивал поля записи в одну строку, сортировал массив строк (любым способом), затем обратно их расклеивал. |
мисс_граффити |
![]()
Сообщение
#11
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Во-первых, заключи в теги код программ.
Во-вторых, ищи по форуму. Сортировки записей много раз выкладывались (как в файле, так и в массиве) -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
-sds- |
![]()
Сообщение
#12
|
Гость ![]() |
Чето я вообще ничего не могу найти, может дадите ссылочку?
|
Ozzя |
![]()
Сообщение
#13
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 1:33 |