Помощь - Поиск - Пользователи - Календарь
Полная версия: Динамические списки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
anuta
Помогите, пожалуйста. без этой задачи грозит недопуск к сессииsad.gif((
Итак задача:
Студент второго курса выбирает кафедру специализации. Он подает заявление с указанием:
-Ф.И.О.
-шифр группы
-шифров двух кафедр специализации в порядке предпочтения
-результатов трех сессий (о каждой: количество экзаменов, название дисциплин и оценки на каждом экзамене)
По заявлению выполнить распределение студентов по кафедрам: для каждой кафедры сформировать список студентов, указавших кафедру первой. Студентов в списках отсортировать по убыванию сумм баллов, набранных ими в сессиях.

Заранее спасибо!! yes2.gif
volvo
anuta, а в чем конкретно проблема? Что не получается сделать? Организовать список? Отсортировать список? Или объединить эти действия, и сделать простое меню?

Так по отдельности все темы были на форуме, осталось только найти, и объединить их в одну программу...
Гость
я просмотрела все подобные задачи. действительно помогло! Только что-то не получается создать список. столько полей! не поможешь с разделом type...
заранее спасибо!
volvo
Поскальку вот тут
Цитата
(о каждой: количество экзаменов, название дисциплин и оценки на каждом экзамене)
количество экзаменов может быть разным, то результаты сессии можно тоже хранить в виде списка... То есть, получится "список в списке"...

type
PTExam = ^TExam;
TExam = record
title: string[20];
grade: integer;

next: PTExam; { <--- Указатель на след. экзамен - для списка экзаменов }
end;

PTStudentRec = ^TStudentRec;
TStudentRec = record
fio: string;
kaf_1, kaf_2: integer; { <--- Кафедры в порядке предпочтения }
sess: array[1 .. 3] of PTExam; { <--- храним 3 списка - по одному для каждой сессии }

next: PTStudentRec; { <--- Указатель на след. студента, для организации списка студентов }
end;

anuta
спасибо огромное!!
anuta
помогите пожалуйста! У меня не получается создать список. как сделать один в другом? nea.gif
volvo
Вот сюда загляни, например:
Задача на тему СПИСКи

Я приводил тут программу, которая содержит все необходимые процедуры для работы со списком... Очень небольшим изменением процедур можно добиться того, что они смогут работать с несколькими разнотипными списками ...
Postman
Решил написать программу... Написал; она работает, но, процедура сортировки... она мне кажется слишком запутанной. Может ее можно упростить или заменить?
Вот файл программы:
Нажмите для просмотра прикрепленного файла
Renbo
По мне, так я вообще что-то не врубил в смысл твоей задачки, и зачем тебе 2 рекорда. А сортировку поищи в поиске, я вроде где-то видел... + Если совсееееееееееем плохо у тебя с ней(сортировкой), то могу посоветовать через динамический массив на крайняк smile.gif Там всё зато понятно сразу будет, но кода мальца побольше будет smile.gif
мисс_граффити
Цитата
то могу посоветовать через динамический массив на крайняк

это как?
volvo
Присоединяюсь к предыдущему вопросу, особенно - в свете названия темы... Что, Renbo, по-твоему динамический массив и динамический же список - одно и то же?

Да и кода будет не больше, а меньше... Хотя... Это смотря как реализовать, можно и квадратное уравнение в 500 строк решать...
Renbo
загоняем список в массив записей, сортируем, возвращаем. Либо не возвращаем, а выводим этот массив. Я конечно понимаю, что это через ... , но всё же. Как-никак тоже же способ, не?
мисс_граффити
Реализацию динамического массива покажи, пожалуйста.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.