Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Permutaciones, combinaciones posibles.

Estas en el tema de Permutaciones, combinaciones posibles. en el foro de C/C++ en Foros del Web. Hola, tengo que hacer un programilla que me calcule el numero de combinaciones posibles P de un universio N y tambien verificar que P y ...
  #1 (permalink)  
Antiguo 05/03/2008, 18:32
Avatar de Zensuke  
Fecha de Ingreso: agosto-2005
Ubicación: Mexico, cancun.
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 0
Permutaciones, combinaciones posibles.

Hola, tengo que hacer un programilla que me calcule el numero de combinaciones posibles P de un universio N y tambien verificar que P y N sean mayores a 0 y P sea mayor que N, osea esto pues:




visto desde probabilidad y estadistica es facil pero para programarlo.. la verdad es que se me da muy mal esto XD lo que he hecho es esto:

Código:
# include<stdio.h>
# include<conio.h>
int k,n,p
 long factorial(int k)
 {
 long resultado
 int k;
 resultado=1
 for(k=1,k<=n,k=k+1)
 resultado=resultado*k;
 return(resultado)
 }
 void main(void)
 {
 int n,p
 printf("dame n,p");
 scanf("%d,%d,&n,&p")
 if(n<=0)
 printf("numero invalido");
 else
 if(p<=0)
 printf("numero invalido");
 else
 if(p>n)
 printf("numero invalido");
 else

 {
 fx=factorial(n)/(factorial(n-p)*(factorial(p))
 printf("f(x)=%ld;fx)");
 getch();
 }
pero me tira error en la linea 4 ( long factorial(int k) ), y no encuentro el problema, asi que cualquier ayuda sera mas que bienvenida, gracias de antemano.

Última edición por Zensuke; 05/03/2008 a las 19:09
  #2 (permalink)  
Antiguo 06/03/2008, 06:18
 
Fecha de Ingreso: enero-2008
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Permutaciones, combinaciones posibles.

Cita:
Iniciado por Zensuke Ver Mensaje
Hola, tengo que hacer un programilla que me calcule el numero de combinaciones posibles P de un universio N y tambien verificar que P y N sean mayores a 0 y P sea mayor que N, osea esto pues:
# include<stdio.h>
//# include<conio.h>
//int k,n,p
//WARNING: variables inútiles
//ERROR: falta el ';' al final
long factorial(int k)
{
//-------------------------------------------------
long resultado = 1;
//WARNING: inicializacion simultanea ( mejor estilo )
//ERROR: falta ';' al final
//-------------------------------------------------
//int k;
//ERROR : k es el parametro de la funcion.
//deberia ser :
int n;
//-------------------------------------------------
//resultado=1 falta ';' al final. Ya no es necesaria(incluida en linea 9
//---------------------------------------------------------------------
for(n=1; n<=k; n++)
//ERROR: no son comas los separadores sino ';'
//-----------------------------------------------
resultado=resultado * n;
return(resultado);
}
//WARNING : suele devolver int
int main(void)
{
int n,p;
//ERROR : falta ';' al final
//------------------------------
long int fx;
printf("dame n,p");
//----------------------------------------
scanf("%d,%d\n",&n,&p);
//ERROR : las comillas estan mal situadas.Falta ;
//WARNING : \n es para no mezclar mensajes con entradas.
//----------------------------------------
if(n<=0)
printf("numero invalido");
else
if(p<=0)
printf("numero invalido");
else
if(p>n)
printf("numero invalido");
else
{
//------------------------------------------------
fx = factorial(n)/(factorial(n-p)* factorial(p));
//ERROR : falta ;
//ERROR : fx variable no definida. Añadida en linea 31
// ERROR : sobra el parentesis delante de factorial(p),
// abres 4 parentesis y cierras 3
//----------------------------------------------------
printf("f(x)=%ld\n",fx);
//------------------------------
//ERROR : las segundas comillas mal situadas. Igual que en linea 34
//ERROR : no es ; sino coma (,)
// ERROR: sobra un parentesis al final
// abres 2 y cierras 3
//WARNING : \n es para no mezclar salida con el pronto del sistema.
}
//-----------------------------------------
//getch();
//WARNING : sobra. El programa se para cuando acaba
//WARNING: conio.h tambien sobra, si quitas getch
//getch no es ANSI. Mejor usa getchar
return 0;
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:07.