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

Vector Desordenado Sin Elementos Repetidos En C++

Estas en el tema de Vector Desordenado Sin Elementos Repetidos En C++ en el foro de C/C++ en Foros del Web. Buenas gente, soy nuevo en el foro. Un gusto. La consulta es: Tengo que hacer un programa que cargue un vector por burbujeo con las ...
  #1 (permalink)  
Antiguo 31/05/2008, 21:25
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 15 años, 11 meses
Puntos: 0
Vector Desordenado Sin Elementos Repetidos En C++

Buenas gente, soy nuevo en el foro. Un gusto.
La consulta es:
Tengo que hacer un programa que cargue un vector por burbujeo con las letra de la A a la Z (ambas mayusculas). El tema es que como va por burbujeo, no se deben repetir las letras y tengo que comparar con cada elemento del vector a medida que voy cargandolo.
Queria saber si alguno tiene una idea de como hacerlo, ya que me stoy partiendo la cabeza y hace 3 años que no toco un int, char o un printf...
Un saludo
  #2 (permalink)  
Antiguo 01/06/2008, 01:13
 
Fecha de Ingreso: marzo-2008
Mensajes: 306
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: Vector Desordenado Sin Elementos Repetidos En C++

¿ Puedes explicar que es eso de que "cargue un vector por burbujeo" ?
__________________
Pop & Rock Bands
Pop Music Stars
  #3 (permalink)  
Antiguo 01/06/2008, 11:27
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Vector Desordenado Sin Elementos Repetidos En C++

O sea, cargar los elementos del vector de forma aleatoria (con la funcion random). El tema es asi: tiene que ser un vector de 25 letras (A mayuscula a la Z mayuscula) pero debe estar desordenado y cada una de las letras no debe repetirse.
  #4 (permalink)  
Antiguo 01/06/2008, 20:40
Avatar de PC's Troll  
Fecha de Ingreso: junio-2005
Ubicación: Caracas-Venezuela
Mensajes: 55
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Vector Desordenado Sin Elementos Repetidos En C++

Saludos!!

Yo estoy re-aprendiendo C/C++ para mi trabajo de grado y justamente estoy haciendo ejercicios de lógica de este típo de índole para agilizar la mente y obviamente aprender el lenguaje a medida que practico.

Bien, con respecto a tu pregunta, se me ocurren dos cosas...
  1. Crear la matriz, completarla de forma ordenada y después desordenarla por medio de un algoritmo.
  2. Crear dos matrices. La primera será tu matríz 5*5 y la otra 25*2. En esta última; una columna representa el valor de la letra y el otro representa si ya tomaste esa letra o no.
  3. Creas una sola matriz con todos sus elementos en null ó 0. Cada vez que vayas a agregar algún nuevo elemento debes recorrer la matriz para ver si ya existe, caso contrario lo agregas. Así sucesivamente hasta completarla.

Creo que ya no se me ocurren más opciones. Entre la 2 y la 3, yo particularmente me quedaría con la 3. Por qué? prefiero ahorrar en memoria y aprovechar más el procesador, pero a nivel de código es un poquito más larga. Queda a tu libre albedrío.

Para la segunda opción, se me ocurre que pudieras implementar un ciclo do-while mientras no hayas usado todas las letras y en el mismo vas asignando valores de forma aleatoria dentro del rango.

Recuerda algo: los caracteres del teclado poseen un valor decimal en la tabla ASCII y si no mal recuerdo la forma de transformar un valor decimal en caracter es:

Código:
char(decimal);
Yo estoy "echando código" con Visual Studio 2008, y buscaré resolver el problema. Si de verdad no puedes con mi planteamiento; pudiese publicar la solución en los días por venir, pero te invito a que ya con mi planteamiento busques tú mismo programar la solución. Te sentirás mucho mejor cuando lo termines a que si te doy el código ya listo.

Última edición por PC's Troll; 02/06/2008 a las 05:20 Razón: Conseguí una forma distinta.
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 18:58.