Hola que tal estimados. Muchas gracias por ingresar a leer esta pregunta que me tiene algo confuso.
Verán, resulta que vi un ejercicio en un certamen en donde se debía eliminar un elemento de un vector y correr los elementos de las otras posiciones para que así no se perdiera espacio.
Ejemplo de lo que digo:
public static void main (String []args){
int bus[] = new int [10];
for (int i = 0; i <bus.length-2; i++){
bus[i]=i*2;
}
bus[0]=1;
System.out.println();
for (int i = 0; i <bus.length; i++){
System.out.println(bus[i]);
}
}
El código de arriaba es sumamente burdo. Simplemente llené las posiciones de un vector dejando las ultimas 2 vacías.
Lo que lanza por pantalla es lo siguiente:
1
2
4
6
8
10
12
14
0
0
Mi pregunta es, imaginándome que yo quiero borrar el numero 8 de ese vector, ¿cómo lo borro y muevo los otros números para que el vector aproveche esa posición eliminada?
Estoy practicando para una evaluación de fin de semestre y me topé con este ejercicio en donde te obligan a trabajar con vectores. Espero me puedan ayudar. De antemano muchas gracias!
podrias vaciar todos los demas elementos a un nuevo array
Cita de: .rn3w. en 24 Agosto 2016, 21:58 PM
podrias vaciar todos los demas elementos a un nuevo array
Tienes toda la razón, que idiota fui. Bueno, tal vez haya sido producto de la presión mientras estaba realizando el certamen (pues eran muchas cosas) y luego de eso me segué en que no sabía.
Muchas gracias bro.
De todas formas acá dejo el código para quien no le hayan funcionado las neuronas como yo:
public static void main (String []args){
int bus[] = new int [10];
for (int i = 0; i <bus.length-2; i++){
bus[i]=i*2;
}
int cont =0;
int prac[] = new int [10];
int variableEliminar=8;
for (int i = 0; i<bus.length-2; i++){
if(bus[i]!=variableEliminar){
prac[cont]=bus[i];
cont++;
}
}
System.out.println();
for (int i = 0; i <bus.length; i++){
System.out.println(bus[i]);
}
System.out.println();
for (int i = 0; i <prac.length; i++){
System.out.println(prac[i]);
}
bus=prac;
System.out.println();
for (int i = 0; i <bus.length; i++){
System.out.println(bus[i]);
}
}
Tira por pantalla lo siguiente:
0
2
4
6
8
10
12
14
0
0
0
2
4
6
10
12
14
0
0
0
0
2
4
6
10
12
14
0
0
0