SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: lufepava en Jueves 27 de Marzo de 2008, 01:00

Título: Factorial De Las Posiciones De Un Arreglo
Publicado por: lufepava en Jueves 27 de Marzo de 2008, 01:00
Hola tengo el siguiente codigo que pretende calcular el factorial de las posiciones de un arreglo 10 posiciones, es decir de la posición 0 me calcule 0 de 1 me calcule 1, de 2 me calcule 2 de 3 me calcule 3 asi sucesivamente de la posición 10, osea 9 será 362880.  Pero el codigo me presente el siguiente error Not an allowed type. Si alguien me puede ayudar se lo agradecería.



#include <stdio.h>
#include <stdlib.h>
#include <conio.h>


#define TAM 10
void factorial(int n);


void main()
{
   int i;
   long arr1[TAM];
    for(i=0;i<TAM;i++)
        {
      arr1=factorial(i);
        }
   printf("\n El arreglo con el factorial de cada posicion es: \n\n");
   {
    for(i=0;i<TAM;i++)
    printf(" %d",arr1);
   getch();
   }
}

void factorial(int n)
{
   int i;
   long factorial=1;
   if (n>=0)
   {
      for(i=1;i<=n;i++)
      {
      factorial=factorial*i;
      }
   }
}
Título: Re: Factorial De Las Posiciones De Un Arreglo
Publicado por: Eternal Idol en Jueves 27 de Marzo de 2008, 09:52
void factorial(int n);
long arr1[TAM];
arr1=factorial(i);

Lee esas lineas con atencion, declaras una funcion cuyo valor de retorno es void (nada) y tratas de asignarle el mismo a un elemento de un array de long, evidentemente no eso no funciona. Arregla la funcion factorial.