ayuda urgente arrays
Publicado por miguel angel (3 intervenciones) el 09/02/2013 00:31:46
Hola, me piden dos métodos uno de ellos para buscar cuántos elementos repetidos hay en un array(ordenado) y el otro para construir un array nuevo sin dichos elementos
El error está(o eso creo) en el segundo método a la hora de eliminar los elementos repetidos pero no se exactamente cómo hacerlo, sé que es un ejercicio muy fácil pero estoy iniciándome en esto y ando un poco perdido aún. Gracias de antemano
Saludos!
Aquí le dejo el código:
public static int duplicados(int a[]){
if(a==null) return 0;
boolean ordenado=true;
for(int i=0; i<a.length-1; i++){
if(a[i]>a[i+1]) ordenado=false;
}
int cont=0;
if(ordenado==false) return 0;
else{
for(int i=0; i<a.length; i++){
for(int j=0; j<a.length; j++){
if(a[i]==a[j] && i!=j){
cont++;
}
} }
return cont;
}}
public static int [] eliminarDuplicados(int a[]){
int res[]=new int[a.length -duplicados(a)];
int index=0;
for(int i=0; i<a.length; i++){
for(int j=0; j<a.length; j++)
if(a[i]!=a[j]){
res[index]=a[i];
index++;
}
System.out.print(res[i] + " ");
}
return res;
}
El error está(o eso creo) en el segundo método a la hora de eliminar los elementos repetidos pero no se exactamente cómo hacerlo, sé que es un ejercicio muy fácil pero estoy iniciándome en esto y ando un poco perdido aún. Gracias de antemano
Saludos!
Aquí le dejo el código:
public static int duplicados(int a[]){
if(a==null) return 0;
boolean ordenado=true;
for(int i=0; i<a.length-1; i++){
if(a[i]>a[i+1]) ordenado=false;
}
int cont=0;
if(ordenado==false) return 0;
else{
for(int i=0; i<a.length; i++){
for(int j=0; j<a.length; j++){
if(a[i]==a[j] && i!=j){
cont++;
}
} }
return cont;
}}
public static int [] eliminarDuplicados(int a[]){
int res[]=new int[a.length -duplicados(a)];
int index=0;
for(int i=0; i<a.length; i++){
for(int j=0; j<a.length; j++)
if(a[i]!=a[j]){
res[index]=a[i];
index++;
}
System.out.print(res[i] + " ");
}
return res;
}
Valora esta pregunta


0