Tenho que popular dois vetores de 15 posições (A e B) e mostrar num vetor (C) de 30 posições a junção do vetor A e B. Estou com dificuldade na hora de apresentar o resultado do vetor C. Alguém pode me dizer o que está errado no meu código:import javax.swing.*; public class Exercicio4 { public static void main(String[] args) { // Criando String de saída String mostra = "Valores do vetor C: \n"; // Inicializando os vetores int [] A = new int[15]; int [] B = new int[15]; int [] C = new int[30]; // Populando o vetor a for (int i = 0; i < A.length; i++) { String a = JOptionPane.showInputDialog(null, "Digite os valores de A[" + i + "]"); A[i] = Integer.parseInt(a); } // Populando o vetor B for (int i = 0; i < B.length; i++) { String b = JOptionPane.showInputDialog(null, "Digite os valores de B[" + i + "]"); B[i] = Integer.parseInt(b); } // Montando vetor C for (int i=0; i<=14; i++){ C[i] = A[i]; for ( i=15; i<=30; i++){ C[i + 15] = B[i]; } mostra += "C[" + i + "] =" + C[i] "\n"; } JOptionPane.showMessageDialog(null, mostra); } }
Mostrar junção de vetores
2 Respostas
Isso é muito simples, mas para ficar bonitinho vamos dizer:
[list]que vc queira o vetA na frente[/list]
import javax.swing.*;
public class Exercicio4 {
public static void main(String[] args) {
//codigo do vetA[] e vetB[]
// Montando vetor C
for (int i=0; i<C.length; i++){
if(i<C.length/2)
C[i] = A[i];
else
C[i] = B[i];
}
}
}
[list] Intercalando o A e B[/list]
import javax.swing.*;
public class Exercicio4 {
public static void main(String[] args) {
//codigo do vetA[] e vetB[]
// Montando vetor C
for (int i=0; i<C.length; i++){
if(i % 2 == 0)
C[i] = A[i];
else
C[i] = B[i];
}
}
}
[list]Em ordem crescente de A e B[/list]
Neste caso os vetore A e B tem que estar ordenados para poder ser mais facil
import javax.swing.*;
public class Exercicio4 {
public static void main(String[] args) {
//codigo do vetA[] e vetB[]
// Montando vetor C
for (int i=0; i<C.length; i++){
if(A[i] < B[i])
C[i] = A[i];
else
C[i] = B[i];
}
}
}
Não testei, por isso acho que pode dar ero, mas a logica seria essa.
Isso é muito simples, mas para ficar bonitinho vamos dizer: [list]que vc queira o vetA na frente[/list]import javax.swing.*; public class Exercicio4 { public static void main(String[] args) { //codigo do vetA[] e vetB[] // Montando vetor C for (int i=0; i<C.length; i++){ if(i<C.length/2) C[i] = A[i]; else C[i] = B[i]; } } }[list] Intercalando o A e B[/list]
import javax.swing.*; public class Exercicio4 { public static void main(String[] args) { //codigo do vetA[] e vetB[] // Montando vetor C for (int i=0; i<C.length; i++){ if(i % 2 == 0) C[i] = A[i]; else C[i] = B[i]; } } }[list]Em ordem crescente de A e B[/list]
Neste caso os vetore A e B tem que estar ordenados para poder ser mais facilNão testei, por isso acho que pode dar ero, mas a logica seria essa.import javax.swing.*; public class Exercicio4 { public static void main(String[] args) { //codigo do vetA[] e vetB[] // Montando vetor C for (int i=0; i<C.length; i++){ if(A[i] < B[i]) C[i] = A[i]; else C[i] = B[i]; } } }
Fiz conforme mostro abaixo e deu certo. De qualquer forma, agradeço a ajuda e por ter respondido a minha dúvida. Obrigada!!!// Montando vetor C for (int i=0; i<A.length; i++){ C[i] = A[i]; C[i+15] = B[i]; } // Lendo os valores de C for (int i=0; i<C.length; i++) mostra += "C[" + i + "]=" + C[i] + "\n"; JOptionPane.showMessageDialog(null, mostra);
Criado 25 de abril de 2008
Ultima resposta 30 de abr. de 2008
Respostas 2
Participantes 2