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

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

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

 
 Ответить  Открыть новую тему 
> ФАЙЛЫ - помогите пожалуста, нужно создать Каталог книг
сообщение
Сообщение #1


Новичок
*

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

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


Пожалуста помогите очень нужно. Скоро зачеты
Создайте файл Каталог книг. Занесите в отдельный файл все произведения заданного пользователем автора. Структура записи файла Каталог книг: автор (40 знаков), название (80 знаков), год издания (4 знака), специальность (40 знаков). Записи упорядочены по фамилиям автора.

Очень нужен текст программы. ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

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

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


Ну хоть чем-нибудь помогите
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Perl. Just code it!
******

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

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


Сам-то пробовал делать ? Если да, то выкладывай что есть, посмотрим, если нет, скажи что конкретно вызывает затруднение. Если "я вообще не знаю с чего начать", тебе сюда: Записи. Record.



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

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

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


Так это вроде не запись а в большей степени работа с файлами. Затруднение вызывает упорядочить по фамилиям авторов
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
Так это вроде не запись а в большей степени работа с файлами.
Хотелось бы уточнить, работа с типизированными файлами, что неотделимо от работы с записями...

Насчет
Цитата
упорядочить по фамилиям авторов
- никаких сложностей возникать не должно, есть 2 пути:
1) работать с данными через массив (т.е. считать все из файла в массив, его отсортировать, КАК это можно сделать по значению любого поля - есть тема еще на этой странице, поднимался вопрос совсем недавно), и записать обратно в файл

2) сортировать напрямую содержимое файла (не рекомендуется, ибо работать будет медленнее, да и некрасиво это) - тоже не вижу проблем: типизированные файлы - это файлы со случайным доступом, т.е. алгоритм будет такой же, как и при сортировке массива, но с позиционированием в файле через Seek...

Ну, или см. сортировку Неймана.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.

 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Как преобразовать данную прогу чтобы записи были упорядочены по фамилии автора?????
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата
writeln('вводите авторов в алфавитном порядке');

по-моему, ты уже возложил ответственность за это на пользователя...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.
Как тогда упорядочить по фамилиям?????

 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гуру
*****

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

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


Давно-давно, когда я решал подобную задачу на сортировку записей, то делал так:
Склеивал поля записи в одну строку, сортировал массив строк (любым способом), затем обратно их расклеивал.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Во-первых, заключи в теги код программ.
Во-вторых, ищи по форуму. Сортировки записей много раз выкладывались (как в файле, так и в массиве)


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Чето я вообще ничего не могу найти, может дадите ссылочку?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гуру
*****

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

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


Опять записи и сортировка
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 24.10.2020 11:01
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name