|
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 20
|
|
Разделить множество элементов по группам с минимумом повторений04.05.2015, 09:48. Показов 1298. Ответов 10
Метки нет (Все метки)
Всем доброго времени суток) помогите решить такою задачку, а именно: Есть n-количество вопросов и k -количество вариантов, k включает в себя m вопросов (из изначально имеющихся n) . Что нужно сделать: Мне нужно создать из имеющихся n-вопросов
создать эти k варианты что бы они имели наименьшее сходство друг с другом. Добавлено через 1 минуту пока писал, появились идейки) хочу услышать ваши советы
0
|
|
| 04.05.2015, 09:48 | |
|
Ответы с готовыми решениями:
10
Разделить содержимое файла по группам символов разделить множество на два подмножества Разделить множество на три подмножества |
|
Модератор
|
|||||||||||
| 04.05.2015, 10:58 | |||||||||||
|
1. Создаешь массив вопросов из n элементов
А вообще-то лучше предоставить более подробную информацию о том, откуда берутся вопросы. Если ты считываешь их из файла - там можно придумать другой алгоритм, если вопросы берутся из БД - третий и т.д.
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 20
|
|
| 04.05.2015, 11:44 [ТС] | |
|
смотри. суть задачи такова. пользователь вводит все вопросы , вводи к-во вариантов и вопросов в варианте . что делает программа : генерирует из вопросов k вариантов с m вопросами.
Добавлено через 20 минут ну к примеру. у тебя есть 100 вопросов. из ста вопросов надо сделать 40 вариантов по 20 вопросов. что бы вопросы в вариантах повторялись минимальное кол-во раз Добавлено через 1 минуту можно считать что вопросы будут в файле и работа будет с строками. но это не суть мне самое главное их раскинуть правильно Добавлено через 5 минут Я думал сделать так. узнать мин Кол-во повторяющихся вопросов. ну к примеру как писал выше . каждый вопрос будет повторяться (40*20/100=8) 8 раз ну тогда можно через множества сделать . забивать 8 раз 1 вопрос в случайные варианты и так все вопросы. ну в смысле, создаю множество, рандномно записываю в вариант добавляю в множество если есть в множестве ещё раз и так пока не пройдет 8 раз. вот такая у меня мысль
0
|
|
|
Модератор
|
|||
| 04.05.2015, 12:14 | |||
Ладно, до дому доберусь - примерчик набросаю...
0
|
|||
|
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 20
|
|
| 04.05.2015, 15:32 [ТС] | |
|
Смотри) я Сделаю интерфейс для пользователя где он будет вводить все данные , Скорее всего при переходе на следующий вопрос я буду записывать их в файл для болея удобной работы с ними. но это все не важно сейчас)) просто подтолкните, дайте идейку
0
|
|
|
Модератор
|
|
| 05.05.2015, 16:33 | |
Сообщение было отмечено Pride17 как решение
Решение
Ну вот, идея такая...
1. Есть какой-то файл (у меня all.txt), в котором записаны все вопросы 2. Пользовать выбирает количество вариантов и количество вопросов в варианте, после чего нажимает кнопку "Загрузить общий список" 3. После загрузки списка становится доступной кнопка "Разбить по вариантам" 4. Нажатие этой кнопки инициирует выбор случайных вопросов из общего списка в каждый вариант. Каждый вариант записывается в файл типа var1.txt, var2.txt ... varN.txt Весь код закомментирован, разобраться, я думаю, труда не составит. Мемо в программе нужны только для демонстрации, практической нагрузки они никакой не несут и их можно смело выкидывать из кода
1
|
|
|
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 20
|
||||||
| 06.05.2015, 17:10 [ТС] | ||||||
|
Спасибо Брат)
Добавлено через 6 часов 28 минут Спасибо, я тебе благодарен ) ты сделал рандомом, мне выходит надо был псевдо) Все равно большое спасибо, я сам переделаю) если не трудно , объясни что делает эта строчка
0
|
||||||
|
Модератор
|
||||||||
| 07.05.2015, 03:35 | ||||||||
|
Самые ходовые спецсимволы формата: %d - целое число (int) %u - целое беззнаковое (unsigned int) %f - действительное число (double). Может указываться с индексами, указывающими, сколько символов займет целая и дробная часть, например %8.2f - 8 знаков для целой части, 2 знака после запятой %s - строка (String) Все это есть в справке Билдера. Вообще-то, в данном случае можно было попросту записать
2
|
||||||||
|
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 20
|
|
| 07.05.2015, 11:12 [ТС] | |
|
Спасибо
0
|
|
|
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 20
|
|||||||||||
| 22.05.2015, 18:57 [ТС] | |||||||||||
|
и да я уже все сделал, но возникла одна ошибка в равномерной сортировке . В общем я создал 2 варианта генерирования. первый, условно рандомный , где каждый вопрос может превышать повторения на единицу от среднего повторения , а второй балансировка повторений вопросов . Ошибка во втором. Вот как все работает .
Создаю множество что бы не повторялись вопросы в варианте и ещё один масив , что бы вести счетчик за использованием вопросов . рандомно кручу вопросы пока не забью все варианты . Дале что бы уравновесить количество использованных вопросов провожу поиск и замену вопроса но затирает не все . Если поможете буду Очень-Очень рад и благодарен
где-то начудил не могу понять где Держите полный код, может будет понятней важно только эта часть ↑ что выше
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 20
|
|||||||||||
| 23.05.2015, 22:01 [ТС] | |||||||||||
|
Нужна помощь в оптимизации кода. С задачей которая была ранее решена и тема закрыта, создал заново . В общем я создал 2 варианта генерирования. первый, условно рандомный , где каждый вопрос может превышать повторения на единицу от среднего повторения , а второй балансировка повторений вопросов . Ошибка во втором. Вот как все работает .
Создаю множество что бы не повторялись вопросы в варианте и ещё один масив , что бы вести счетчик за использованием вопросов . рандомно кручу вопросы пока не забью все варианты . Дале что бы уравновесить количество использованных вопросов провожу поиск и замену вопроса но затирает не все . Если поможете буду Очень-Очень рад и благодарен
Вот полный код
Разделить множество элементов по группам с минимумом повторений Спасибо за внимание Добавлено через 22 часа 55 минут надеюсь кто-то сможет указать на мою ошибку)
0
|
|||||||||||
| 23.05.2015, 22:01 | |
|
Помогаю со студенческими работами здесь
11
Распределение элементов по группам
Распределение элементов справочника по группам Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|