РАСПРЕДЕЛЕНИЕ, Распределить студентов 1 курса по группа |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
РАСПРЕДЕЛЕНИЕ, Распределить студентов 1 курса по группа |
Andy |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: 0 |
Здравствуйте
Вот есть такая задача: Распределить студентов 1-ого курса по группам Входные данные - типизиров. файл, выходные -текстовый файл Замечания: Группы две - Группа1, Группа2 Критерии к отбору: 1. Необходимо чтобы в 2-ух группах было одинаковое кол-во человек (если конечно число студентов четно, иначе на один будут отличаться) 2. Также нужно, чтобы кол-во девушек в двух группах было одинаково 3. Группы должны быть упорядочены по алфавиту - НО!! не просто упорядочить, т.е. отсортировать, а необходимо максимально представить журнал студентов (например, как в школе), т.е. если есть два студента с фамилией на букву А, то один должен быть в 1-ой группе, другой во 2-ой - это идеальный вариант (конечно, повторюсь, необходимо хотябы максимально к этому приблизиться). Спасибо, буду благодарен, если кто подскажет наиболее оптимальный (и хотелось бы не очень большой) метод решения |
Andy |
Сообщение
#2
|
Новичок Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: 0 |
В принципе я знаю метод к этой задаче, но на мой взгляд он не является оптимальным (и несколько громоздкий) (и может вообще полететь критерий 3, т.е. алфавит)
1. Переношу всех студентов в массив А 2. Определяю кол-во девушек в 1-ой группе 3. Иду по нечетным позициям массива А и ищу в группе девушек -), если не набирается необходимое кол-во, то !!!! иду по четным номерам (вот здесь то и «ломается» алфавит). При нахождении отмечаю, что уже была перемещена в группу 1 (в поле записи массива просто пишу значение – ориентир что человек уже зачислен в группу 1) 4. Тоже самое делаю с парнями 5. В итоге получаю 1-ю группу, ее сортирую и в файл 6. Вторая группа это неотмеченные (см.3) студенты Алгоритм работает, но к черту может полететь алфавит |
Andy |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: 0 |
Есть ли другие варианты решения?
|
volvo |
Сообщение
#4
|
Гость |
Andy, у тебя этот вариант программно реализован? Или только сам алгоритм?
|
Andy |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: 0 |
Цитата(volvo @ 28.04.05 19:26) Andy, у тебя этот вариант программно реализован? Или только сам алгоритм? Да программа есть |
Текстовая версия | 15.05.2024 2:28 |