Combinando 8 dezenas de grupos de 5 é igual 56 volantes, dentro desses 56 volantes a vários ternos repetidos, gostaria de remover esses ternos repetidos.
detalhe não se preocupem com gerador ou quantidade para combinar.
minha duvida:
no código abaixo ele me apresenta a seguinte matriz.
onde está o meu erro de logica, pois tem conjunto de três iguais
que não encontro no fechamento na matriz abaixo.
está na matriz abaixo, tem:
123, 124, 125,134,135,145,234,234,345,
126,127,128,267,267,278,345,346,347,356,357,367.
Pergunta
Joelson Silva
Bom dia
Fechamento para acerto de terno na quina.
o objetivo e acertar a logica do fechamento.
Combinando 8 dezenas de grupos de 5 é igual 56 volantes, dentro desses 56 volantes a vários ternos repetidos, gostaria de remover esses ternos repetidos.
detalhe não se preocupem com gerador ou quantidade para combinar.
minha duvida:
no código abaixo ele me apresenta a seguinte matriz.
onde está o meu erro de logica, pois tem conjunto de três iguais
que não encontro no fechamento na matriz abaixo.
está na matriz abaixo, tem:
123, 124, 125,134,135,145,234,234,345,
126,127,128,267,267,278,345,346,347,356,357,367.
não está na matriz abaixo, não tem:
1 3 6; 1 3 7; 1 3 8; 1 4 6; 1 4 7; 1 4 8; 1 5 6; 1 5 7; 1 5 8;
2 3 6; 2 3 7; 2 3 8; 2 4 5; 2 4 6; 2 4 7; 2 4 8; 2 5 6; 2 5 7;
2 5 8; 2 6 7; 2 6 8; 2 7 8; 3 4 8; 3 5 6; 3 5 7; 3 5 8; 3 6 7;
3 6 8; 3 7 8; 4 5 8; 4 6 7; 4 6 8; 4 7 8; 5 6 8; 5 7 8; 6 7 8;
matriz do código:
1 2 3 4 5
1 2 6 7 8
3 4 5 6 7
como a matriz deve ficar:
1 2 3 4 6;
1 2 3 5 8;
1 2 4 7 8;
1 3 6 7 8;
1 4 5 6 7;
2 3 4 5 7;
2 5 6 7 8;
3 4 5 6 8;
package br.Exercicio;
import java.util.Scanner;
public class CombinaReduzido {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] vetA = new int[5];
int[][] array = new int[99999][5];
int num = 0, iguais = 0,cont = 0, total = 0;
System.out.println("Digite numero Comb:");
num = scan.nextInt();
for (int n1 = 1; n1 <= num; n1++) {
vetA[0] = n1;
for (int n2 =n1 + 1;n2 <= num; n2++) {
vetA[1] = n2;
for (int n3 =n2 + 1;n3 <= num; n3++) {
vetA[2] = n3;
for (int n4 =n3 + 1;n4 <= num; n4++) {
vetA[3] = n4;
for (int n5 =n4 + 1;n5 <= num; n5++) {
vetA[4] = n5;
total++;
for (int t = 0; t <= cont; t++) {
iguais = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (vetA == array[t][j]) {
iguais = iguais + 1;
}
}
}
if (iguais > 3) {
break;
}
}
if (iguais < 3) {
cont = cont + 1;
for (int x = 0; x < 5; x++) {
array[cont][x] = vetA[x];
}
System.out.println(" "+vetA[0]+" "+vetA[1]+" "+ vetA[2]+" "+ vetA[3]+" "+vetA[4]);
}
}
}
}
}
}
System.out.println("reduzidos:"+ cont);
System.out.println("total gerados:"+ total);
}
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.