Duda de Super Principiante

Iniciado por Allitnam2004, 1 Enero 2011, 21:03 PM

0 Miembros y 3 Visitantes están viendo este tema.

flony

Sagrini de donde se puede descargar ese libro o tutorial?...lo podes subir  ;)
si un problema no tiene solucion entonces no es un problema...es algo inevitable

Garfield07

Que yo sepa.. o de la biblioteca que tengas por alli o en una libreria.
El libro es de John Ericson, y esta fenomenal xD...

No he podido encontrar ningun pdf :¬¬ :¬¬ :¬¬
Pero si lo pedis en un libreria o biblioteca os lo dan xD!


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

Allitnam2004

Muchisimas Gracias por tomarse el tiempo en despejar mis cuantiosas dudas.
Siguiendo con el tema, ya que me pareceria feo abrir otro tema con el mismo nombre, acudo a ustedes una vez mas para solventar mis dudas. Nuevamente es un ejemplo muy simple de C en el que se tiene que sacar el factorial de un numero dado.

#include <stdio.h>
void main()
{
    //Definicion de Variables
    int i,num;
    double fact;
    //Logica e Interaccion con el usuario
    printf("\nIntroduzca un Valor para realizar el Factorial= ");
    scanf("%d",&num);
    for(i=1;i>num;i++)
    {
        fact=fact*i;
    }
    printf("\nEl Factorial del Numero %d es %lf",num,fact);
}

Yo creo que la logica en si, esta bien. Sin Embargo el resultado del factorial me tira simbolos en lugar del resultado mismo.

Si me pudiesen hacer ver que esta mal estaria eternamente agradecido. Muchas Gracias de nuevo. Un Abrazo

Oblivi0n

#13
Buenas allitnam.

1 error = la funcion main() se recomienda que sea del tipo int
2 error = el factorial de un entero nunca va tener decimales, asique es mejor usar un int, que un double
3 error = la variable fact no esta inicializada en ningun momento, procura inicializar las variables
4 error = este es de entendimiento del factorial, un factorial es la multiplicacion de un numero por todos sus anteriores, te dejo la forma adecuada en el code.

#include <stdio.h>

int main()
{
   //Definicion de Variables
   int i,num;
   int fact = 1;
   //Logica e Interaccion con el usuario
   printf("\nIntroduzca un Valor para realizar el Factorial= ");
   scanf("%d",&num);
   for(i=num;i>0;i--)
   {
       fact = fact*i;
   }
   printf("\nEl Factorial del Numero %d es %d",num,fact);
   return 0;
}


P.D: Recuerda utilizar las etiquetas GeSHi al poner codigos

Saludos y suerte con el aprendizaje :)

Garfield07



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

leogtz

Además de que no retornó nada.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Allitnam2004

guru6 Gracias por el codigo y las recomendaciones, las voy a tener muy en cuenta. Pero disculpame que te vuelva a preguntar. Viendo tu codigo y el mio veo que se diferencian en la parte de la logica con los i en el que lo inicializo en uno y lo aumento hasta el numero que se elige. La pregunta mas puntual es por que al cambiar esa logica funciona si tecnicamente segun creo yo tambien deberia funcionar; en mi caso siempre da el resultado en el que incializo la variable fact. No se si me pude explicar bien. Ante todo muchas gracias nuevamente. Un abrazo

Garfield07

Sencillamente es cuestion de gusto... No te preoocupes por eso ;) fff xD


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

Slava_TZD

#18
Nosé lo que está mal en el code que has puesto, pero no hace la factorial correctamente. (Ahora no tengo tiempo de mirarlo) Este seria un ejemplo:


#include <stdio.h>
main()
{
   int a,b=1;
   char x='x';
   printf("Introduce el numero: ");
   scanf("%d", &a);
   printf("%d! = ", a);
   for(a; a>0; a--) {
       if (a==1) x=' ';
       b=b*a;
       printf("%d %c ", a, x);
   }
   printf("es %d", b);

}


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.

Garfield07

for(a; a>0; a--) {
La A primera sobra. Es mas, es incorrecta... GCC la elimina, creo, pero de todos modos es incorrecta...


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo