Ver Mensaje Individual
  #8 (permalink)  
Antiguo 09/03/2015, 10:50
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Error usando FOR y Do-While anidados

Código C:
Ver original
  1. can[num[i]]++;

La variable "can" tiene 10 elementos, uno por cada cifra. Inicialmente se inicializan todas sus posiciones a 0. Cada vez que introduces un número incrementas el índice de "can" correspondiente ( el 0 si se introduce un 0, el 1 si se introduce un 1, ...). Tras estas iteraciones, en can[0] tendrás un valor equivalente al número de 0s, en can[1] el número total de 1s y así. Finalmente, recorres "can" y te quedas con el índice que tiene el valor más alto y listo.

Por cierto, así a bote pronto:

Código C:
Ver original
  1. for(i=0; i<ELEMENTS; i++) if (can[i] > maximo) maximo = i;

si máximo almacena el índice... el chequeo "can[i]>maximo" no es correcto porque estás comparando un índice con un valor... tendría que ser "can[i] > can[maximo]". No?