/* Exercice V, feuille d'exercices 1 */

#include <stdio.h>

#define alloc(a)      ((a*)malloc(sizeof(a)))
#define alloctab(a,n) ((a*)malloc((n)*sizeof(a)))

int GetPoints ( int * NumberOfPoints_Ptr ,
                double ** ListOfPoints_PPtr )
{
  int i;

  printf("Donner le nombre de points : ");
  scanf("%d",NumberOfPoints_Ptr);

  /* The number of points is known, allocate the array accordingly */
  *ListOfPoints_PPtr = alloctab(double,*NumberOfPoints_Ptr);

  for (i=1 ; i<=*NumberOfPoints_Ptr ; i++)
    {
      printf("Donner la valeur du point %d : ",i);
      scanf("%lf",&((*ListOfPoints_PPtr)[i-1])); 
    }

  printf("%d points enregistres\n",*NumberOfPoints_Ptr);
}


double SumPoints ( int NumberOfPoints ,
		   double * ListOfPoints_Ptr )
{
  int i;
  double s;

  s=0.0;
  for (i=1 ; i<=NumberOfPoints ; i++)
    s=s+ListOfPoints_Ptr[i-1]; 

  return s;
}


int main()
{
  int NumberOfPoints;
  double * ListOfPoints;

  GetPoints(&NumberOfPoints,&ListOfPoints);
  printf("La somme de ces points est %f\n",SumPoints(NumberOfPoints,ListOfPoints));
}