- Код: Выделить всё
i = Int(Rnd * 10000)
Do While ai = 10000
ai = Int(Rnd * 10000)
Loop
x = 0
Do While Not x = 16
y = y + 1
For b = 1 To 4
For c = 1 To 4
If Mid(ai, b, 1) = Mid(ai, b + c, 1) Then a = a Else x = x + 1
Next c
Next b
If y = 16 Then x = 0 And ai = Int(Rnd * 10000)
Loop
Эта часть кода должна генерить рандомное число в котором нет повторяющихся цифр(например 1223-нельзя), и которое не равно 10000. Но почему то если генерируется число в котором есть повторяющиеся цифры то этот цикл который должен это исправить просто зацикливается. Прошу указать на ошибку
Почти тот же самый цикл который проверяет на те же условия число пользователя работает
- Код: Выделить всё
a = Text1
If Len(a) <> 4 Then
MsgBox ("Ваше число должно состоять из 4 цифр")
Else
For b = 1 To 4
For c = 1 To 4
If Mid(a, b, 1) = Mid(a, b + c, 1) Then MsgBox ("В числе не должно быть одинаковых цифр") Else x = x + 1
Next c
Next b
End If