![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
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 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 25.03.2023 18:19 |