EU TENTEI, MAS NÃO CONSEGUI FAZER!

MARCOS 07/04/2017 21:47:08
#473159
Bom dia,colegas!
Eu pensei que fosse ser simples. Mas quando
fui codificar, percebi que não era nada simples:

O problema no meu projeto:

Preciso gerar e armazenar em variáveis , [Ô]todas[Ô] as combinações possíveis em um conjunto de objetos ( Peças).
Sendo que :

- O conjunto de objetos ( Peças) tem um total de 1000 unidades.
- Sendo que cada um dos objetos, podem ter 4 cores diferentes ( Branco,Preto,Azul e verde )

Como gerar um código, que armazene todas as possíveis combinações possíveis .

Obs: é claro que eu consigo montar um código que gera [Ô]muitas[Ô] combinações. Mas, o que não
estou conseguindo é gerar [Ô]Todas[Ô] as combinações possíveis.

Algum colega,pode ajudar????

KERPLUNK 07/04/2017 22:24:09
#473163
Você quer algo como:
produto 1 - Branco
produto 1 - Preto
produto 1 - Verde
produto 1 - Azul
produto 2 - Branco
produto 2 - Preto
produto 2 - Verde
produto 2 - Azul
produto 3 - Branco
produto 3 - Preto
produto 3 - Verde
produto 3 - Azul
E assim por diante, é isso?
JABA 07/04/2017 23:33:13
#473164
MARCOS 08/04/2017 21:13:33
#473178
Bom dia,Pessoal!
é como eu citei no início. Parece fácil,mas não é !
O exemplo que o colega Jaba forneceu é muito bom. Mas,
somente fornece [Ô]Algumas[Ô] das dezenas (Ou centenas ) de milhares de combinação possíveis.
De fato, criar um algoritmo que crie uma boa quantidade de combinações possíveis, não é difícil.
O meu problema, é conseguir criar [Ô]Todas[Ô] as possíveis combinações.

Ou seja, como gerar e armazenar em variáveis , todas as possíveis combinações de [Ô]1000[Ô] objetos, sendo que cada objeto pode ter uma das seguintes cores (Branco,Preto,Azul e verde)

Se algum colega, conhece algum algoritmo matemático que consiga, fico muito grato
JABA 08/04/2017 21:40:42
#473180
Marcos, todas as combinações foram geradas e ficaram guardadas dentro da lista. Quais combinações ficaram faltando no exemplo que te passei? Se puder, dê um exemplo prático do que você quer pra clarear mais as coisas.
NICKOSOFT 09/04/2017 07:24:37
#473182
isso pode ser feito exaustivamente da forma mais rudimentar com for encadeado......
por ex.
sendo parafuso e duas porcas

for parafuso .....
for porca.....
for porca2
next porca2
next porca
next parafuso...

a forma mais simples e inicial possível......
LLAIA 10/04/2017 18:20:34
#473210
Matemática discreta. Vc quer o total de combinações pra ter certeza? Vc pode fazer combinação simples: http://mundoeducacao.bol.uol.com.br/matematica/combinacao-simples.htm

Caso haja repetições por permutação, use Combinação com Repetição.

Assim vc tira sua dúvida no final, caso desconfie da quantidade de itens.
MARCOS 11/04/2017 11:06:56
#473222
Bom dia,Pessoal!
Por exemplo,Jaba:

Não aparece na lista a combinação:

O produto1 (Branco) + Produto3(Preto) e assim por diante
JABA 11/04/2017 13:19:09
#473230
TIAGO007 12/04/2017 23:28:43
#473283
Resposta escolhida
Boa noite amigo, então seria tipo assim: 1 peça branca, branca, branca, branca | 1 peça branca, branca, branca, preta | 1 peça branca, branca, branca, azul | é isso que vc precisa na codigificação ? vc quer gerar 1000 peças que possui 4 cores cada peça, mas que não se repita ? seria tipo como a numeração da placa de um carro 4 digitos so que no seu caso até mil
se sim creio que um for gerando uma matrix seria o ideal e com um if dentro filtrando as cores
TIAGO007 13/04/2017 00:30:49
#473286
Tipo assim:

for(int i = 0; i<1000;i++) //vai repetir 1000 objetos de 0 a 999
{
string[,] objeto = new string[4, 4];//cria objeto com matriz 4x4

for(int x=0;x<4;x++) // 0=Branco,1=Preto,2=Azul,3=verde
{

for(int y=0;y<4;y++)// 0=Branco,1=Preto,2=Azul,3=verde
{

if(y==0)
{
objeto =[x, [Ô]branco[Ô]];
}
if (y == 1)
{
objeto =[x, [Ô]preto[Ô]];
}
if (y == 2)
{
objeto =[x, [Ô]azul[Ô]];
}
if (y == 3)
{
objeto =[x, [Ô]verde[Ô]];
}

}
}

}
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas