Hola amigos estoy estudiando vectores para tratar de entenderles mejor pero me he atorado mi problema es (Imprimir la serie 1,5,3,7,5,9,7,11 ) ya se que este problema se puede hacer sin vectores pero quiero hacerlo con vectores =). ya tengo practicamente todo tengo tengo 3 vectores 1 donde se guardara la serie, 1 donde me imprime los numeros (1,3,5,..,n) y 1 vector donde imprime los num (5,7,9,..,n) y aqui viene mi problema quiero juntar esos 2 vectores para que los imprima en 1 solo pero que imprima en este orden
EJEMPLO
VEC1 = 1 3 5 7
VEC2 = 5 7 9 11
SERIE = 1 5 3 7 5 9 7 11 // ocea que me imprima primero la pos 0 del vec1 y luego la pos 0 del vec2 y asi sucesivamente, he intentado varias cosas pero ninguna me funciona. me pueden ayudar porfavor.
Mi codigo es este:
public class Serie {
public static void main(String[] args) {
Scanner en = new Scanner(System.in);
System.out.print("Ingresa el valor de la serie: ");
int n = en.nextInt();
int veco[] = new int[n];
int conPar =0,conImp=0;
//FUNCION QUE ME DICE SI ES PAR O NO
public static boolean pi(int n ){
if(n %2 == 0){
return true;
}else {
return false;
}
}
//SE IMPRIME EL PRIMER ARREGLO SIN LA SERIE
System.out.println("Arreglo primario");
for (int i=0; i<n ; i++){
veco [ i ]=i;
System.out.print("\t"+veco [ i ]);
//SI ES PAR EL SE INCREMENTA UN CONTADOR PARA LOS PARES
if(pi(i)){
conPar++;
}else {
//SI ES IMPAR EL SE INCREMENTA UN CONTADOR PARA LOS IMPARES
conImp++;
}
}
// ARREGLOS VEC1, VEC2
int par[] = new int[conPar];
int imp[] = new int[conImp];
//llenado arreglos auxiliares
System.out.println("\ntArreglo pares");
int aux1=1;
for(int i = 0; i< conPar;i++){
par [ i ] = aux1;
aux1 +=2;
System.out.println(par [ i ]);
//este arreglo contiene los valores 1,3,5,7,..,n
}
System.out.println("Arreglo imp");
int aux=5;
for(int i = 0; i< conImp;i++){
imp [ i ] = aux;
aux+=2;
System.out.println(imp [ i ]);
//este arreglo contiene los valores 5,7,9,11,..,n
}
//aqui es donde mi programa truena :S que es donde trato de juntar los 2 arreglos //y que me imprima la pos0 del arreglo 1 y despues la pos0 del arreglo 2 y asi //susesivamente
//llenado del arreglo final
for (int i =0 ; i< veco.length;i++){
if(pi(veco [ i ])){
veco [ i ] = par [ i ];
} else{
veco [ i ] = imp [ i ];
}
//lo que intento hacer es mientras la posicion del vector veco sea par me //imprima lo que esta en el arreglo de par[] y si la pos del vector veco es impar //que me imprima lo que esta en el arreglo de imp[] a si lo pense ya que la pos 0 //es par entonces imp el valor 1 del vector par, despues es impar ahora imprimira //el valor 5 del vector impar, y asi se seguia la pos2 es par entonces imprimira 3, //la pos3 es impar entonces imprimira 7 :S pero me da error
}
// aqui ya se imprime la serie :S pero no imprimira nada por que estoy mal en el llenado del arreglo final :C
//Mostrando el arreglo final
for (int i = 0; i < n; i++){
System.out.println("vector("+i +")="+veco[ i ]);
}
}
}
Porfavor, porfavor :S no entiendo como llenar ese arreglo y solo me falta eso :S de antemano muchisismas gracias cualquier comentario , critica constructiva es aceptada contal de mejorar =)