Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MAFUS

#631
Programación C/C++ / Re: Ayuda urgente C
13 Noviembre 2017, 21:36 PM
Haz una cosa: haz un código estructurado usando tus palabras, no en C, resolviendo el problema.
#632
Tal vez no le das la librería math al enlazador. Aunque sea parte de la biblioteca estándar hay que enlazar esa librería manualmente. Algunos compiladores se quejan, otros lo hacen automáticamente.
#633
Dentro de la función int cifras() tienes el while así:
while (num1 / 10 > 0||num1/10==0)
Cuando num1 sea un número de un solo dígito el resultado será 0, la sentencia num1/10==0 hará que el bucle se repita y 0/10 = 0, por tanto estarás en un bucle infinito.
#634
El fallo lo tienes en
printf("el numero tiene %d cifras \n", &cont);
el apmersand sirve para obtener la dirección de memoria. Lo que ves es eso y no el dato que hay en él, es decir, el número de cifras de cada número. Quita & y listo.
#635
Vale, muestra lo que tienes.
#636
Introduce entre la línea 17 y 18 una nueva con la instrucción: cont = 1;
#637
Me reafirmo en mi respuesta: en sucesivos bucles no reseteas cont, por eso crece sin control.
#638
Te lo digo:
Fíjate que no reinicias la variable cont en cada bucle por tanto parte del valor que tenía en la interación anterior.
#639
printf("el numero tiene %d cifras \n");
Ahí falta una variable para dar valor a %d
#640
No sé si debes sacar el factor común de los números porque te lo pide el ejercicio, pero si no es así usa el algoritmo de Euclides. Este algoritmo es fácil de implementar para un ordenador y con muy poco código da la solución.