Ir para conteúdo
Fórum Script Brasil
  • 0

fechamento


Joelson Silva

Pergunta

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...