GERAR POSSIBILIDADES
Bom Dia.
Preciso criar uma tela para gerar possibilidades, onde é informado, digamos 7 números e gero todas as combinações possÃveis com esses 7 números, em grupos de 6 números.
EX:
1-2-3-4-5-6
1-2-3-4-5-7
1-2-3-4-6-7
.....
apos ciar todas essas possibilidades preciso pegar cada uma delas e gerar ela com 100 números. Mas não pode repetir o número.
EX:
1-2-3-4-5-6
1-2-3-4-5-7
1-2-3-4-5-8
.....
1-2-3-4-6-5
1-2-3-4-6-7
.....
mas não posso repetir as combinações.
EX:
1-2-3-4-5-6
1-2-3-4-6-5
Preciso criar uma tela para gerar possibilidades, onde é informado, digamos 7 números e gero todas as combinações possÃveis com esses 7 números, em grupos de 6 números.
EX:
1-2-3-4-5-6
1-2-3-4-5-7
1-2-3-4-6-7
.....
apos ciar todas essas possibilidades preciso pegar cada uma delas e gerar ela com 100 números. Mas não pode repetir o número.
EX:
1-2-3-4-5-6
1-2-3-4-5-7
1-2-3-4-5-8
.....
1-2-3-4-6-5
1-2-3-4-6-7
.....
mas não posso repetir as combinações.
EX:
1-2-3-4-5-6
1-2-3-4-6-5
é possivel criar uma rotina, onde ele da start com uma sequencia de seis numeros iniciais e seis numeros finais.
Ex.
A tela inicia com a sequencia 1-1-1-1-1-1 e termina com 7-7-7-7-7-7
Para ele ir adicionando, pode ser usado uma Grid ou uma DataGrid para não usar muitas Labels (eu ja fiz isso com labels com tres digitos e gasta muito tempo e muito codigo desnecessario)
O procedimento que fiz foi desenvolvido no VB.NET
Ele seguia da seguinte forma:
Separei cada digito por coluna, cada coluna é C
C1=1 C2=1 C3=1
If C1<=1 Then
C3 = C3 + 1
If C3 = 7 then
C2 = C2 +1
C3=1
If C2=7 then
C1=C1+1
C2=1
End If
End If
Else If C1 =7
Label1.text = [Ô]Codigo gerado[Ô]
End If
Dei um exemplo do codigo com 3 digitos, mas podera ser usado com mais.
A forma de apresentar fica a seu criterio, se prefere adicionar em uma Grid ou Datagrid ou em labels.
Obs: Não estou com o código fonte do que eu fiz em mãos, mas é algo do gênero como criei, você também pode criar outros tipos de laços de repetição usando os Ifs.
Se quiser posso estar buscando o código em minha biblioteca para postar e tentar auxiliar.
Ex.
A tela inicia com a sequencia 1-1-1-1-1-1 e termina com 7-7-7-7-7-7
Para ele ir adicionando, pode ser usado uma Grid ou uma DataGrid para não usar muitas Labels (eu ja fiz isso com labels com tres digitos e gasta muito tempo e muito codigo desnecessario)
O procedimento que fiz foi desenvolvido no VB.NET
Ele seguia da seguinte forma:
Separei cada digito por coluna, cada coluna é C
C1=1 C2=1 C3=1
If C1<=1 Then
C3 = C3 + 1
If C3 = 7 then
C2 = C2 +1
C3=1
If C2=7 then
C1=C1+1
C2=1
End If
End If
Else If C1 =7
Label1.text = [Ô]Codigo gerado[Ô]
End If
Dei um exemplo do codigo com 3 digitos, mas podera ser usado com mais.
A forma de apresentar fica a seu criterio, se prefere adicionar em uma Grid ou Datagrid ou em labels.
Obs: Não estou com o código fonte do que eu fiz em mãos, mas é algo do gênero como criei, você também pode criar outros tipos de laços de repetição usando os Ifs.
Se quiser posso estar buscando o código em minha biblioteca para postar e tentar auxiliar.
eu consegui assim claro com ajuda do amigo tecla
para usar, exibindo o resultado em um listbox:
boa sorte
Private Function Combinacoes(Numero As String)
Dim s() As String
s() = Split(Numero, [Ô],[Ô])
For x = 0 To UBound(s) - 1
For a = x + 1 To UBound(s)
For b = a + 1 To UBound(s)
For c = b + 1 To UBound(s)
For d = c + 1 To UBound(s)
For e = d + 1 To UBound(s)
List1.AddItem s(x) & [Ô] - [Ô] & s(a) & [Ô] - [Ô] & s(b) & [Ô] - [Ô] & s(c) & [Ô] - [Ô] & s(d) & [Ô] - [Ô] & s(e)
Next e
Next d
Next c
Next b
Next a
Next x
End Function
para usar, exibindo o resultado em um listbox:
Private Sub Command1_Click()
Call Combinacoes([Ô]01,02,03,04,05,06,07[Ô])
End Sub
boa sorte
Tópico encerrado , respostas não são mais permitidas