Ver Mensaje Individual
  #8 (permalink)  
Antiguo 29/07/2014, 05:13
Avatar de anggiebs
anggiebs
 
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Recorrido de arrays

Hola chicos :) ,siento tardar en responder .
He leído lo que han escrito y el problema es que parece que no me toma en cuenta el array de booleanos (tArrayBool aux).
Lo que me piden es que si el elemento que está en el array tCodigo jugada está en una posición distinta del array tCodigo secreto,marque a true la misma posición del array tCodigo secreto en el tArrayBool aux y que de acuerdo a esta comprobación,podré omitir el revisar los siguientes elementos del array tCodigo jugada con esta posición del array tCodigo secreto porque ya he encontrado su "pareja" y está a true en tArrayBool aux.

Esto lo he puesto así,sin embargo,al compilarlo no me reconoce por que por ejemplo :
Codigo secreto es: 4 4 4 1
Codigo del usuario escribo: 4 5 5 5
Resultado me dice: 1 está en su sitio, 2 en un sitio distinto
cuando lo que debería decirme es: 1 está en su sitio ,0 en un sitio distinto
(porque los 4 que están en la misma posición se marcan a true en el array de booleanos y ya no me tiene porqué comparar esa posición con las demás,en este caso, me compara con la 2da y 3era posición del array tCodigo secreto y por eso me dice que hay 2 en un sitio distinto .)

Esto ya me está cansando :( ,me agobio :( ....pero aparte de eso, espero haberme explicado y sino ,pregúntenme :)

----------------------------------------------------------------------

Sólo pondré la función que compara los elementos que están en distinta posición porque lo otro si que lo hace bien :) .

Código C++:
Ver original
  1. void comprobarColores(tCodigo secreto,tCodigo jugada,int &colocadas,int &descolocadas,...){
  2.  
  3. //Array de booleanos para marcar los aciertos sean colocados o descolocados,lo inicializo a false.
  4. tArrayBool aux={false};
  5. int j=0;
  6.  
  7. [...]
  8.  
  9. for(int j=0; j<size;){ //Le he puesto size para gusto de dmorill :D
  10.         for(int k=0; k< size; k++){
  11.             while((aux[k] != true) && (jugada[j]== secreto[k])){    //Algo hace mal aquí <--
  12.                 aux[k]= true;
  13.                 descolocadas++;
  14.             }
  15.         }j++;
  16.     }
  17. }