Помогите разобраться с Random генератором

DJ-root

Местный
Регистрация
9 Янв 2005
Сообщения
969
Реакции
387
Credits
0
Всем привет. У меня возникла очень срочная проблема.
Моей жене для работы (На завтра!:() надо сгенерировать 15 вариантов контрольных работ по 20 вопросов в каждой. Всего вопросов есть 58.

Надо заполнить 15 матриц по 20 чисел любыми числами от 1 до 58. при условии, что цифры в матрице не должны повторяться. Также желательно, чтобы по возможности, цифры из ближайших вариантов справа и слева не повторялись также.


Помогите мне, пожалуйста, разобраться. Мне надо просто вывод этих матриц, код листинга можна не приводить. Если можно, расскжите, как это можно сделать и с помощью Excel.

Буду очень благодарен.
 

ZeVS

Специалист
Местный
Регистрация
2 Окт 2005
Сообщения
220
Реакции
77
Credits
10
Вроде как вот так
Код:
Public Sub generatekontr()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim nok As Boolean
Randomize
For i = 1 To 15
For j = 1 To 20
nok = True
While nok
  ActiveSheet.Cells(j, i) = Int(58 * Rnd + 1)
  nok = False
  If ActiveSheet.Cells(j, i) > 58 Then nok = True
  If j > 1 Then
    For k = 1 To j - 1
      If ActiveSheet.Cells(j, i) = ActiveSheet.Cells(k, i) Then nok = True
    Next k
  End If
  If i > 1 Then
    For k = 1 To 20
      If ActiveSheet.Cells(j, i) = ActiveSheet.Cells(k, i - 1) Then nok = True
    Next k
  End If
Wend
Next j
Next i
End Sub
 
Последнее редактирование модератором:

DJ-root

Местный
Регистрация
9 Янв 2005
Сообщения
969
Реакции
387
Credits
0
А если можно привести дамп листинга вывода данной программы. Дело в том, что мне ее не на чем запустить. Очень прошу

Большое спасибо
 

ZeVS

Специалист
Местный
Регистрация
2 Окт 2005
Сообщения
220
Реакции
77
Credits
10
Код:
5	3	4	1	2	4	1	7	1	2	3	8	1	2	1
6	9	5	3	6	5	3	8	4	8	4	9	3	5	4
7	19	6	16	9	7	10	12	5	17	6	11	4	9	13
10	21	7	19	10	8	11	17	6	18	7	15	6	11	15
13	22	8	26	12	21	13	18	9	21	12	18	7	12	19
14	23	11	27	13	23	15	21	11	22	14	21	10	14	21
15	30	12	28	14	26	19	22	13	25	16	22	17	18	29
18	31	13	30	15	37	20	23	14	27	19	24	20	22	34
24	33	17	33	17	39	24	29	15	31	23	26	32	24	35
25	36	18	36	18	40	25	35	16	34	28	31	34	25	36
32	37	20	37	22	42	28	37	19	37	30	38	35	26	39
34	41	32	40	29	43	32	39	20	39	32	39	36	27	40
35	42	34	42	31	44	33	40	26	40	35	40	37	30	42
39	43	35	43	32	45	34	42	28	44	36	44	42	31	43
46	45	38	45	38	46	41	44	30	45	41	45	43	33	44
52	47	39	46	41	48	47	45	33	48	42	48	47	41	45
54	48	44	48	47	52	49	48	38	52	43	52	49	48	47
55	50	49	52	49	54	50	53	46	53	47	54	50	52	50
57	51	57	53	50	55	56	54	47	54	49	56	51	53	51
58	53	58	55	57	58	57	58	51	56	51	57	55	57	55
 
Последнее редактирование модератором:

DJ-root

Местный
Регистрация
9 Янв 2005
Сообщения
969
Реакции
387
Credits
0
Большое спасибо, помог!

ЗЫ. Теперь жена принялась за составление вопросов
Еще раз спасибо