[ Foro de C++ ]

Cadenas array

25-Oct-2010 02:13
Miguel de Jesus Gonzalez Merida
1 Respuestas

GRACIAS POR SU PRONTA RESPUESTA
Tengo un programa que me piden hacer que ingrese n cantidad de nombres y guardar en un array y luego despliegue el listado original luego un reporte donde diga cuantas veces se repite cada una, ejemplo hay dos Jose solo escribo una vez el nombre y a la par el numero 2 (son las veces que se repite)
el otro problema es que al copiar un array en otro me tira simbolos al correrlo y al llegar a esa parte. ya probe un monton de cosas y no me sale podrian ayudarme tengo el codigo lo adjunto


26-Oct-2010 20:27
Nacho Cabanes (+83)

El fuente asusta un poco: se ve muy descolocado, al estar mezclados espacios y tabulaciones, no tiene comentarios y los nombres de las variables están demasiado abreviados.

No entiendo por qué la variable "bodeg" tiene capacidad para 30 datos mientras que "name" tiene sólo para 20, y cuando copias datos de un sitio a otro copias sólo 10. Tampoco entiendo por qué dejas a 1 la variable "conteo" cada vez que encuentras una discrepancia, porque fallará cuando una palabra esté repetida pero en posiciones separadas.

Se puede plantear de varias formas, pero yo creo que una de las más sencillas de entender (aunque no sea la más eficiente) puede ser:

- Pedir todos los datos sobre el primer array
- Ordenar esos datos sobre el segundo array, para evitar tener duplicados (otra alternativa es hacer un volcado a ciegas y luego comparar cada dato con todos los posteriores para ver si aparece repetido).
- Ver cuantas veces aparece en el array original cada uno de esos datos que has ordenado (incluso escribiendo directamente en pantalla, con lo que no sería necesario un array de contadores)

En cualquier caso, intenta que tu programa sea "autoexplicativo": que los nombres de las variables indiquen claramente para qué sirven, y que lo poco que no sea evidente (como la lógica de cada bloque) tenga comentarios para ayudar a entenderlo.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)