Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/11/2015, 08:08
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 3 meses
Puntos: 204
Respuesta: problema con juego de palabras

Código C:
Ver original
  1. for(a=0;a<length;a++){
  2.             for(i=0;i<=contador;i++){
  3.                if(word[a]==cadena[i])
  4.                {
  5.                   aux=cadena[i];
  6.                   cadena[i]=cadena[contador];
  7.                   cadena[contador]=aux;
  8.                   contador--;
  9.                   break;
  10.                }
  11.             }
  12.          }

Ahí, si no me equivoco, estás intentando dos cosas a la vez:
  • Comprobar si la palabra es válida
  • Desordenar sus caracteres

Al final no estás comprobando si la palabra es 100% válida. Primero porque solo recorres cadena con i, que depende de contador, no de la longitud de la palabra y segundo porque según vas verificando la letra la reubicas... lo que puede dar lugar a que compruebes dos veces la misma letra y a que haya letras sin verificar.

¿No sería mejor hacerlo en dos pasos? Primero chequear la palabra y luego, si la palabra es válida, descolocar sus componentes?

Un saludo
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.