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

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

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

> Записи, Динамика, Текстовые и Типизированые файлы, простая база
сообщение
Сообщение #1


Пионер
**

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

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


Поля
1. ф
2. И
3. О
4. оценка
5. др
пойск по оценке

Проверте пожалуйста правильность написанной программы
особенно с файлами! не на путал ли я что...
может есть излишества или глупости!

Прикрепленный файл  Lab3_4.zip ( 2.15 килобайт ) Кол-во скачиваний: 422


и может кто поможет с процедурой пойска...а то что-то она не получаеться...


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Вроде никаких явно бросающихся в глаза недочетов нет, за исключением, возможно, вот чего:

У тебя в программе сразу выделяется память под 1000 записей, так? Зададимся вопросом: "А почему именно 1000?" smile.gif Не в том ли дело, что больше при таком размере структуры New может и не дать, ибо есть ограничение на размер блока, выделяемого с помощью New?

Вот я и клоню к тому, что... А почему бы не перестать забивать память сразу заведомо ограниченным количеством записей (которые, возможно, никто и не использует, но с другой стороны - а если понадобится больше? А нельзя smile.gif )

Так вот, собственно, предложение:
Type
PClass_r = ^Class_r;
Class_r = Record
{ Ну, тут то что у тебя и было... }
End;

Const
q = 65520 div sizeof(PClass_r);

_class = array [1 .. q] of PClass_r; { <--- Чувствуешь разницу? }
PtrClass = ^_class;


И потом Выделить, как ты и делал, память под массив Stud, только он будет содержать НЕ сами данные, а указатели на них.

Тогда при необходимости добавить данные в массив - делается так:

{ где-то в начале программы}
new(Stud);

{ ... }
{ а при добавлении студентов: }
writeln('Tape quantity of adding students'); readln(n);
for i:=1 to n do begin

new(stud^[i]); { Выделяем память под ДАННЫЕ }

with Stud^[i]^ do begin
// Все действия - как у тебя и было
end;
...

Как результат - более гибкая работа с памятью (которой, как известно, много никогда не бывает), да и обрабатывать сможешь не до 1000, а до 16380 записей, что, согласись, серьезнее smile.gif

Как тебе такой вариант?


А насчет поиска - что именно у тебя не получается? Что надо сделать с теми, кто критерию поиска удовлетворяет? Просто распечатать? Или где-то сохранить? Так ведь множества тоже никто не отменял. Или эмуляторы множеств для большего числа элементов smile.gif Надо - покажу, как...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
punkska   Записи, Динамика, Текстовые и Типизированые файлы   22.05.2006 14:31
volvo   Вроде никаких явно бросающихся в глаза недочетов н…   22.05.2006 15:23
punkska   :good: :give_rose: отлично! переделаем) о…   22.05.2006 15:39
volvo   Это подсветка синтаксиса. На больших исходниках м…   22.05.2006 15:48
punkska   а вот с удалением крах полный! если у кого ест…   22.05.2006 15:56
volvo   Ты расскажи, что именно ты удалять хочешь? какой-т…   22.05.2006 16:09
punkska   да...я думаю не стоит заморачиваться и стоит удаля…   22.05.2006 16:13
volvo   Ну, если по одному, тогда вот так: procedure Delet…   22.05.2006 16:30
punkska   опять я решил делать как легче и ошибся( :wacko: …   22.05.2006 21:56
volvo   punkska, пойми, ты даешь выдранную из контекста ин…   22.05.2006 22:15
punkska   Вечер добрый Вон я что написал! и за что получ…   30.05.2006 2:54
punkska   почему если внести ввод даты для пойска в тело про…   5.06.2006 22:08
volvo   Телепатия? Как изменил, что сделал - покажи...   5.06.2006 22:53
punkska   Внимание на процедуры ПОЙСК и УДАЛИТЬ и на их обра…   6.06.2006 0:10
volvo   Глобальные переменные - зло... Избавляйся от них. …   6.06.2006 1:01
punkska   Спасибо Volvo, выручил) и насмешил)) :lol: особе…   6.06.2006 1:24


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

 





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