Título: Problema con Factorial.. Publicado por: Komodo en 3 Septiembre 2010, 14:20 pm Código
Este programa coge un numero e imprime su factorial y el proceso, ejemplo: 4 - 4*3*2*1 = 24 Vale, y si lo prueban veran que a partir del 8 no funciona... porque? Título: Re: Problema con Factorial.. Publicado por: clodan en 3 Septiembre 2010, 15:15 pm No se si es lo que buscabas, pero te la complicaste demasiado...
ya lo probe y asi queda mas compacto: Código
Obviamente, al usar variables int, tenes menos espacios reservados y por lo tanto no vas a tener tanta libertad al preguntar un numero... osea, no creo qe el maximo a evaluar sea 25 o 20... Título: Re: Problema con Factorial.. Publicado por: Komodo en 3 Septiembre 2010, 15:56 pm Tio ayudame si sabes de verdad, el code mio esta hecho así porque es para una web.
Y tu code tiene un error. Esto es una tontería: resultado=resultado*a; Tienes que sumar a resultado la operación que tu pones detrás. Yo lo que quiero es que me expliquen porque cuando pongo 9 el programa se cierra y da error. eDITO: yo no lo hice como todo el mundo que va añadiendo hasta que llega al numero que ingreso, yo he ido restando hasta que llega a 1, y por eso lo ves tan dificil. Título: Re: Problema con Factorial.. Publicado por: clodan en 3 Septiembre 2010, 16:43 pm el code mio no tira ningun error xD si copiaste y lo pegaste en 1 sola linea, cualquier code tira error.
En que parte de todo lo que dijiste dice qe es para una web??? porqe lo lei 2 o 3 veces y no encuerto la parte esa... Código
Este programa coge un numero e imprime su factorial y el proceso, ejemplo: 4 - 4*3*2*1 = 24 Vale, y si lo prueban veran que a partir del 8 no funciona... porque? Título: Re: Problema con Factorial.. Publicado por: Komodo en 3 Septiembre 2010, 16:47 pm Es un error lógico no que tire un error el compilador ¬¬
Lo digo yo, y donde dice que no lo puedo hacer así? Jajajjaa LOL Título: Re: Problema con Factorial.. Publicado por: clodan en 3 Septiembre 2010, 17:06 pm Es un error lógico no que tire un error el compilador ¬¬ Lo digo yo, y donde dice que no lo puedo hacer así? Jajajjaa LOL mira, ahi hice que ande... ahora te muestro lo que cambie: La funcion la mande abajo y arriba la declare nada mas, despues al num=0 le saque el =0, ya que si despues le vas a asignar un valor, es innecesario asignarle 0, Agrege un par de \n para dejar espacios.. y mmm no me acuerdo qe mas cambie :s ahora anda barbaro, lo unico qe tiene es que suponete... si vos ingresas 10 te va a devolver este resultado: Código: Ingrese un Numero: Esto lo hace el programa porqe le pusiste aca: for(n=0;n<num;n++){ if(array[n]!=1){ printf("%i\n",array[n]); } else { printf("%i\n",array[n]); } } los printf()... si no los pondrias y asignaras eso a algun valor quedaria solamente el resultado. Salu2! Código
EI: juntando mensajes. igualmente el problema qe veo qe persiste es que el resultado es un numero tan grande que probablemente supere el espacio reservado y tira error el programa, pero hasta 12 o 13 anda barbaro el programa. Título: Re: Problema con Factorial.. Publicado por: Komodo en 3 Septiembre 2010, 17:14 pm Primero no hagas doble post esta prohibido.
Segundo se perfectamente que si quito el printf y tal me queda solo el resultado, pero es que no quiero, veo que no lees.. Título: Re: Problema con Factorial.. Publicado por: clodan en 3 Septiembre 2010, 17:35 pm En que parte de todo lo que dijiste que lo pongo aca abajo para qe puedas "leer" especificaste como querias el resultado??
En ningun momento dijiste: Para que es el codigo, que funcionamiento debia tener ni con que fin o para que uso, entonces mejor lee tus comentarios y despues lee los mios :xD Primero no hagas doble post esta prohibido. Segundo se perfectamente que si quito el printf y tal me queda solo el resultado, pero es que no quiero, veo que no lees.. Es un error lógico no que tire un error el compilador ¬¬ Lo digo yo, y donde dice que no lo puedo hacer así? Jajajjaa LOL Tio ayudame si sabes de verdad, el code mio esta hecho así porque es para una web. Y tu code tiene un error. Esto es una tontería: resultado=resultado*a; Tienes que sumar a resultado la operación que tu pones detrás. Yo lo que quiero es que me expliquen porque cuando pongo 9 el programa se cierra y da error. eDITO: yo no lo hice como todo el mundo que va añadiendo hasta que llega al numero que ingreso, yo he ido restando hasta que llega a 1, y por eso lo ves tan dificil. Código
Este programa coge un numero e imprime su factorial y el proceso, ejemplo: 4 - 4*3*2*1 = 24 Vale, y si lo prueban veran que a partir del 8 no funciona... porque? Título: Re: Problema con Factorial.. Publicado por: satu en 3 Septiembre 2010, 19:36 pm Hola
No he probado tu código pero a simple vista creo que el fallo está aquí Código
Estás declarando un array con 0 posiciones, cámbialo a ver si se soluciona Saludos Título: Re: Problema con Factorial.. Publicado por: clodan en 3 Septiembre 2010, 19:47 pm Hola No he probado tu código pero a simple vista creo que el fallo está aquí Código
Estás declarando un array con 0 posiciones, cámbialo a ver si se soluciona Saludos el problema estaba justo donde vos lo marcaste... esta declarando un array con la cantidad de espacios 0 jajaja osea, cada vez qe se quiere meter algo en el array no se puede! jajaja buena observacion! yo le habia sacado al codigo el =0 del num para que el array qede indefinido. Título: Re: Problema con Factorial.. Publicado por: Komodo en 6 Septiembre 2010, 11:00 am Gracias satu.
|