Foros del Web » Programación para mayores de 30 ;) » C/C++ »

obtener valores unicos no repetidos de array

Estas en el tema de obtener valores unicos no repetidos de array en el foro de C/C++ en Foros del Web. hola, quisiera algo de orientacion, os comento; tengo un array done he almacenado preguntas con tematicas, las tematicas pueden cambiar y pueden no estar ordenadas ...
  #1 (permalink)  
Antiguo 26/05/2015, 11:48
Ic4r0
Invitado
 
Mensajes: n/a
Puntos:
obtener valores unicos no repetidos de array

hola, quisiera algo de orientacion, os comento; tengo un array done he almacenado preguntas con tematicas, las tematicas pueden cambiar y pueden no estar ordenadas en orden esdecir
1. ciencia
2..ciencia
3.geografia
4.deportes
dentro de un for recorro todas las posiciones y e imprimos los resultados
Código C:
Ver original
  1. if(strcmp(pre[index+1].tematica,pre[index].tematica)!=0 && strcmp(pre[index].tematica,"vacio")!=0){
  2.                         printf("\t[%s]",pre[index].tematica);
}
no obstante esto solo funcionan si el array esta ordenado...
Quiero obtener los resultados unicos(sin repetir) como puedo hacerlo?
  #2 (permalink)  
Antiguo 26/05/2015, 12:14
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: obtener valores unicos no repetidos de array

creas una lista vacía y vas añadiendo objetos leídos a esa lista, si el objeto ya se encuentra en la lista no lo incluyas, claro. Luego al final imprimes la lista.
Seria como tener 2 bucles uno para cribar los repetidos, y otro para mostrar el resultado.
  #3 (permalink)  
Antiguo 27/05/2015, 00:33
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: obtener valores unicos no repetidos de array

Cita:
Iniciado por Ic4r0 Ver Mensaje
no obstante esto solo funcionan si el array esta ordenado...
Quiero obtener los resultados unicos(sin repetir) como puedo hacerlo?
Si el array no está ordenado, la única forma de asegurarse de que un elemento no está en el array es recorrerlo entero para ver si el elemento que buscas existe o no. No hay otra forma de hacerlo.

El array puedes recorrerlo de la forma que te de la gana ( sentido directo, sentido inverso, usando un pool de hilos, primero los elementos pares y luego los impares...) pero nadie te libra de tener que recorrer la totalidad del array para garantizar que el elemento buscado no se encuentra en el array.

Por supuesto, una vez que encuentras el elemento puedes detener la búsqueda, no hace falta que sigas recorriendo el array.

Etiquetas: repetidos, unicos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:46.