Eliminar elementos reptidos

Ando muy molesto pues yebo días con la misma tarea y no la he podido terminar, se trata de crear un vector que contenga caracteres, esa parte ya la hice, pero el problema es que necesito crear un nuevo vector que contenga solo caracteres que no se repitan pero sin utilizar ningún método, solo iteraciones y dem{as,
ejemplo:
vector1=a n i t a l a v a l a t i na
vector2= a n i t l v ayudenme porfavor! Que ya estoy cansado de intentarlo y no me sale
1

1 Respuesta

37.300 pts. 3 años de experiencia como Ingeniero de Sistemas, I...
He creado un ejemplo para responder tu pregunta:
public class EliminarRepetidos {
public static void main(String [] args){
char [] vector1 = new char [] {'a','n','i','t','a','l','a','v','a','l','a','t','i','n','a'};
// el vector donde guardaremos el resultado
char [] vector2 = new char [] {};
int i;
// recorremos el vector 1
for( i = 0; i<vector1.length; i++){
// variable donde almacenamos el caracter que estamos buscando
// para saber si esta repetido.
char caracterBuscado = vector1;
// bandera para saber si el caracter buscado ya existe en el
// vector de resultado, osea vector2, incialmente asumimos
// que el caracter no existe... eres inocente hasta que te sea
// encontrado culpable, jejeje
boolean caracterYaExiste = false;
int j;
// recorremos el vector 2, para buscar nuestro caracter sospechoso
for(j = 0; j<vector2.length; j++){
// si efecticamente nuestro caracter buscado es encontrado
if ( vector2[j] == caracterBuscado ){
// cambiamos nuestra bandera a true, nuestro sospechoso
// es culpable.
caracterYaExiste = true;
// terminamos la busqueda de ese caracter
break;
}
}
// Si al terminar la búsqueda nuestra bandera sigue siendo falsa,
// significa que nuestro carácter no existe en el vector2 y puede
// ser agregado al vector de resultado, osea vector 2
if ( caracterYaExiste == false ){
// creamos un vector temporal, una posicion mas grande que vector 2
// ya que vamos a agregar un nuevo caracter y necesitamos hacer
// espacio para el.
char [] vectorTemp = new char [vector2.length + 1];
// copiamos caracter por caracter el contenido de vector2 a vectorTemp
for(j = 0; j<vector2.length; j++){
vectorTemp[j] = vector2[j];
}
// finalmente llenamos la ultima posicion del vectorTemp con
// nuestro nuevo caracter no repetido
vectorTemp[j] = caracterBuscado;
// Y por ultimo reemplazamos la instancia del vector2 con nuestro
// mas grande vectorTemp. De esta forma aseguramos que vector2
// esta actualizado con el nuevo caracter agregado
vector2 = vectorTemp;
}
}
// lo siguiente es solo para poder ver el resultado
String res = "[";
for( i = 0; i<vector2.length - 1; i++){
res += vector2 + ",";
}
res += vector2 + "]";
// mostramos el resultado por la consola
System.out.println(res);
}
}
Daniel1869, ¿Qué te paso mano? Te escribí en la otra pregunta para que te dieras cuenta que ya te respondí la pregunta... ¿acaso no viste esta? Por favor se justo y finaliza esta respuesta... si algo no te gusta de la respuesta o no entiendes algo, preguntame y con gusto te responderé.
Mm... psss... al final pude hacerlo, sin necesidad de ver tu código, este es mi código:
public void encriptar(Palindroma p){
int conta,i,oCont,j=0,k,z=0;
for(i=0;i<p.palabra.length;i++){
conta=0;
oCont=0;
palabraAux[j]=p.palabra;
j++;
for (k=0;k<p.palabra.length;k++){
if(palabraAux[k]==p.palabra){
conta++;
}
if(p.palabra==p.palabra [k])
oCont++;
}
if(conta==1){
encriptar[z]=p.palabra;
cont[z]=oCont;
System.out.print(encriptado[z]=cont[z]+i);
z++;
}
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas