Comparar 2 vetores [RESOLVIDO]

6 respostas
B

como comparo estes 2 vetores e mostrar num terceiro o não repetido sendo 6 e 4.

int [] vetA = new int[3];
    int [] vetB = new int[3];
    int [] vetC = new int[6];
    
    vetA[0] = 5;
    vetA[1] = 6;
    vetA[2] = 7;
    
    vetB[0] = 5;
    vetB[1] = 4;
    vetB[2] = 7;
    
    for(int i=0; i<vetA.length; i++){
        for(int j=0; j<vetB.length; j++){
            if(vetA != vetB){
                vetC[i] = vetA[i];
            }
        }
    }
            
    for(int i=0; i<vetC.length; i++){
    System.out.print(vetC[i]);
    }

6 Respostas

ivandasilva

Cria um método só para fazer comparações e na assinatura deste método você passa os vetores que você deseja, assim, você chama duas vezes o método invertendo os arrays…

for(int i=0; i<vetA.length; i++)
    for(int j=0; j<vetB.length; j++)
        if(vetA != vetB)
            vetC[i] = vetA[i];
B

não consegui, fiz mas ele mostra so o 4 e esta faltando o 6

ivandasilva

Mostra o código, mas eu acho que ele está armazenando sempre no mesmo lugar, deixa o contador do vetor C fora do método e a cada vez que o método entrar dentro do if, você faz um cont++

M
/**
	 * Verifica se o vetor possui o valor
	 * @return
	 * 	true - possui
	 *  false - não possui
	 */
	private static boolean contains(int[] vetor, int valor){
		for (int i : vetor) {
			if(i == valor)
				return true;
		}
		return false;
	}
	
	public static void main(String[] args) {
		
		int[] a = {1,2,3, 5, 5};
		int[] b = {2,3,4, 5, 5};
		int[] c = new int[6];

		int contC = 0;
		for (int valor : a) {
			if( !contains(b, valor) && !contains(c, valor) )
				c[contC++] = valor;
		}
		
		for (int valor : b) {
			if( !contains(a, valor) && !contains(c, valor) )
				c[contC++] = valor;
		}
		
		//exibe os valores
		for (int valor : c) {
			System.out.println(valor);
		}
	}
No Array List tem isso pronto
ivandasilva

Então põe como resolvido o post.

I
public static void main(String[] args) {

// TODO Auto-generated method stub

// TODO Auto-generated method stub

int[] vetA = { 1, 2, 4, 7, 8, 10, 11, 13, 14, 15 };

int[] vetB = { 0, 2, 4, 7, 10, 11, 13, 16, 17, 18 };

int[] vetC = new int[10];

int[] vetD = new int[10];

int cont = 0;
for (int i = 0; i < vetA.length; i++) {
		for (int j = 0; j < vetB.length; j++) {
			int aux = 0;
			if (vetA[i] == vetB[j]) {
				vetA[i] = aux;
			}
			if (vetA.length != cont) {
				if (vetA[i] == aux) {

				} else {
					vetC[i] = vetA[i];
				}

			}
		}
	}
	for (int i = 0; i < vetC.length; i++) {
		if (vetC[i] == 0) {
		} else {
			if (vetA[i] != 0) {
				vetC[i]=vetA[i];
				System.out.print(vetC[i] + " ");
			}
		}
	}
}
Criado 24 de agosto de 2012
Ultima resposta 13 de mai. de 2015
Respostas 6
Participantes 4