Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: flacc en 14 Mayo 2010, 11:39 am



Título: hola ayudenme porfavor
Publicado por: flacc en 14 Mayo 2010, 11:39 am
hola miren, aprendo c, y como reto personal y solo con lo que se me decidi a hacer un programa que calcule el llamado n sobre k, pero he quedado estankado en sacar n factorial (n!)...
Citar
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int n, k, nf, kf, x;
  system("title ncr");
  printf( "ingrese n seguido de k\n" );
  scanf( "%d %d", &n, &k);
  nf = 0;
  kf = 0;
  do
  {
        x = n - 1;
        nf = n * x;
  } while (x != 1);
  printf("n factorial: %d\n", nf);
  system("PAUSE>nul");   
  return 0;
}

cuando lo ejecuto e ingreso n  y k se queda en blanco, bueno en negro... mejor dicho no muestra nada.. pero si lo ejecuto con el 2 enonces me da 2
la verdad que ya no se que hacer y como no he aprendido mas, pero use while solo y me da el mismo resultado..
saludosss y gracias por adelantado


Título: Re: hola ayudenme porfavor
Publicado por: h0oke en 14 Mayo 2010, 12:16 pm
Fijate el siguiente código:

Código
  1. #include <stdio.h>
  2. /* Fijate que si introduces 0 el programa debería devolver 1, trata de modificarlo */
  3. int main()
  4. {
  5.  int n, nf;
  6.  printf( "ingrese n\n" );
  7.  scanf( "%d", &n);
  8.  nf = 1;
  9.  do
  10.  {
  11.        nf = nf * n;
  12. n--;
  13.  } while (n > 1);
  14.  printf("n factorial: %d\n", nf);
  15.  return 0;
  16. }

Trata de utilizar estándares, yo bajo linux no podría haber corrido correctamente el programa.



Título: Re: hola ayudenme porfavor
Publicado por: flacc en 14 Mayo 2010, 20:39 pm
gracias... me quede sin palabras...


Título: Re: hola ayudenme porfavor
Publicado por: vardom en 15 Mayo 2010, 21:06 pm
hOLA! este es uno q hize y funciono bien

/*
   Programa elaborado por
   ANITA VARDOM
   Todos los derechos reservados!!
      TE AMO BEBI
*/
#include <stdio.h>
#include <conio.h>
void main (void)
{
 float num, f, x;
 clrscr();
  printf("\n Ingrese un numero:\n ");
  scanf("%f", & num);
    f=1;
     x=1;
      for(x=1; x<=num; x++)
              f=f*x;
      printf("\n%.2f",f);
  getch();
}

espero t sirva


Título: Re: hola ayudenme porfavor
Publicado por: RockAqp en 17 Mayo 2010, 01:28 am
mm yo te ayudaria pero se c++
weno mirando tu programa x no tiene valor inicial tal ves ese sea el problema
pero mejor
as tu prueba de escritorio
as un seguimiento de tu programa en papel
y veras el error mas claramente :d
salu....