Jump to content
Fórum Script Brasil
  • 0

Question

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 to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148738
    • Total Posts
      644613
×
×
  • Create New...