Ajuda em exercicio java para realizar a junção de 2 vetores

1 resposta
P

//Ler duas matrizes do tipo vetor A com 20 elementos e B com 30 elementos.
Construir uma matriz C, sendo esta a junção das duas outras matrizes. Desta forma, C
deverá ter a capacidade de armazenar 50 elementos. Apresentar a matriz C.
Meu codigo só conta até a posicao 40, depois fica 0 na saída.

Aqui está o que eu fiz.

public class exercicio3{

public static void main(String Args[]){

int vetorA[]=new int[20];

int vetorB[]=new int[30];

int vetorC[]=new int[50];

for(int i=0;i<vetorA.length;i++){

vetorA[i]=Entrada.leiaInt("Escreva os valores do vetor A "+i);

}

for(int i=0;i<vetorB.length;i++){

vetorB[i]=Entrada.leiaInt("Escreva os valores do vetor B "+i);

}

for (int i=0; i<vetorA.length; i++){

vetorC[i] = vetorA[i];

vetorC[i+20] = vetorB[i];

}

for (int i=0; i<vetorC.length; i++)

System.out.println( C[ + i + ]= + vetorC[i] + “\n);

}

}

1 Resposta

I

Observação 1: Nomes de classe, por convenção, devem iniciar com letra maiúscula e seguir o padrão CamelCase.

Observação 2: Quando postar código, use a opção de texto pré-formatado (ícone </> do editor de texto).

Um jeito bem simplório de resolver é, preencher o vetorC em duas etapas. Na primeira etapa vai de 0 a 19, de acordo com o tamanho do vetorA; na segunda etapa, vai de 20 a 49 (49 - 20 = 29) - pois começa em zero -, de acordo com o tamanho do vetorB. Nesse caso, cada posição do vetorC deve ser acrescida de 20, como pode ser visto abaixo:

import java.util.Scanner;

public class Exercicio3 {
	public static void main(String[] args){
		int[] vetorA = new int[20];
		int[] vetorB = new int[30];
		int[] vetorC = new int[vetorA.length + vetorB.length];
		Scanner leitor = new Scanner(System.in);
		
		System.out.println("Dados do vetor A");
		for(int i = 0; i < vetorA.length; i++){
			System.out.print("A[" + i + "]= ");
			vetorA[i] = leitor.nextInt();
			
			System.out.println("");
		}
		
		System.out.println("\nDados do vetor B");
		for(int i = 0; i < vetorB.length; i++){
			System.out.print("B[" + i + "]= ");
			vetorB[i] = leitor.nextInt();
			
			System.out.println("");
		}
		
		for(int i = 0; i < vetorA.length; i++)
			vetorC[i] = vetorA[i];
		
		for(int i = 0; i < vetorB.length; i++)
			vetorC[i + 20] = vetorB[i];
		
		System.out.println("\nDados do vetor C");
		for(int i = 0; i < vetorC.length; i++)
			System.out.println("C[" + i + "]= " + vetorC[i]);
		
		leitor.close();
	}
}
Criado 5 de novembro de 2019
Ultima resposta 5 de nov. de 2019
Respostas 1
Participantes 2