Ir ao conteúdo
  • Cadastre-se

João Paulo Duarte

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de João Paulo Duarte em Compreender a função de uma variável e a lógica de um programa. foi marcado como solução   
    @Gabriel de A.Campos
    Espero que os comentários que coloquei no código ajudem.
     
    public static void main(String args[]) { //cria o leitor de entrada Scanner entrada = new Scanner(System.in); //vetor X com 10 números inteiros int X[] = new int[10]; // vetor Y com 10 números inteiros int Y[] = new int[10]; //vetor União X e Y int U[] = new int[20]; //vetor dos elementos de X que não existem em Y int D[] = new int[10]; //vetor resultado de X[n] + Y[n] int S[] = new int[10]; //vetor resultado de X[n] * Y[n] int P[] = new int[10]; //vetor da intersecção de X e Y int IT[] = new int[10]; //variáveis auxiliares int i, j, k, cont_u, cont_d, cont_i; //pede que o usuário entre um valor inteiro para X e Y 10 vezes seguidas for (i=0;i<10;i++) { System.out.print("Digite o " + (i+1) + "o elemento do vetor X: "); //scanner nextInt() retorna o próximo valor inteiro na entrada (https://www.javatpoint.com/post/java-scanner-nextint-method) X[i] = entrada.nextInt(); System.out.print("Digite o " + (i+1) + "o elemento do vetor Y: "); Y[i] = entrada.nextInt(); } //zera os contadores cont_u = 0; cont_d = 0; cont_i = 0; //repete 10 vezes for (i=0;i<10;i++) //zera j { j = 0; /** enquanto o j for menor que o contador de u e o elemento i for diferente do elemento J, incrementa j * se j for maior ou igual ao contador de u, adiciona o elemento X[I] na ultima posição de U * Imagine que X = [1, 1, 2, 3, 5, 8, 13, 21, 21, 42] * na primeira passada não entra no laço while pois j == cont_u mas entra na condição, atribui X[0] à U[0] e incrementa cont_u * na segunda passada j < que cont_u (j=0, cont_u=1) mas X[1] == U[0] então ignora o laço. como j < cont_u, não entra na condição * na terceira a condição do laço é satisfeita (j=0, cont_u=1 && X[2]=2 e U[0]=1 então incrementa j uma vez para 1 e sai do laço * depois como j é igual a cont_u (j=1, cont_u=1) adiciona X[i] em U[cont_u] * e continua até não existirem mais elementos em X[] */ while (j < cont_u && X[i] != U[j]) { j++; } if (j >= cont_u) { U[cont_u] = X[i]; cont_u++; } } // Mesma coisa, mas com o conjunto Y for (i=0;i<10;i++) { j = 0; while (j < cont_u && Y[i] != U[j]) { j++; } if (j >= cont_u) { U[cont_u] = Y[i]; cont_u++; } } System.out.println("Vetor Uniao "); for (i=0;i<cont_u;i++) { System.out.println(U[i]); } /** * Bastante parecido com o laço para a criação do conjunto união, mas primeiro com a verificação se X[i] é igual a algum dos * elementos de Y. Caso X seja igual a algum elemento de Y, o J será menor que 10 e a condição para a inclusão do elemento de * X no vetor diferença nunca será cumprida. Caso não exista em Y um elemento igual a X[i], utiliza um laço semelhante ao * anterior para excluir os elementos repetidos. */ for (i=0;i<10;i++) { j = 0; while (j < 10 && X[i] != Y[j]) { j++; } if (j >= 10) { k = 0; while (k <= cont_d && X[i] != D[k]) { k++; } if (k >= cont_d) { D[cont_d] = X[i]; cont_d++; } } } System.out.println("Vetor Diferença "); for (i=0;i<cont_d;i++) { System.out.println(D[i]); } for (i=0;i<10;i++) { S[i] = X[i] + Y[i]; P[i] = X[i] * Y[i]; } System.out.println("Vetor Soma "); for (i=0;i<10;i++) { System.out.println(S[i]); } System.out.println("Vetor Produto "); for (i=0;i<10;i++) { System.out.println(P[i]); } for (i=0;i<10;i++) { j = 0; while (j < 10 && X[i] != Y[j]) { j++; } if (j < 10) { k = 0; while (k < cont_i && IT[k] != X[i]) { k++; } if (k >= cont_i) { IT[cont_i] = X[i]; cont_i++; } } } System.out.println("Vetor Interseção "); for (i=0;i<cont_i;i++) { System.out.println(IT[i]); } }  

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!