/* File: meddevst.c */
/* Time-stamp: "2002-05-14 12:54:09 calvanes" */
/* Scopo: parametri di tipo vettore  */

#include <stdio.h>
#include <math.h>

#define N 10


int leggiVettore(int vett[], int lung)
  /* Legge lung interi e li mette nel vettore vett. */
{
  int i;

  printf("Immetti %d interi: ", lung);
  for (i = 0; i < lung; i++)
    scanf("%d", &vett[i]);
}


double media(int vett[], int lung)
  /* Calcola la media di lung interi memorizzati in vett. */
{
  int i;
  double m = 0.0;

  for (i = 0; i < lung; i++)
    m += vett[i];

  m /= lung;
  return m;
}


double deviazioneStandard(int vett[], int lung, double med)
  /* Calcola la deviazione standard di lung interi memorizzati in vett,
     ulizzando il valore med come media. */
{
  int i;
  double d = 0.0;

  for (i = 0; i < lung; i++)
    d += (vett[i] - med) * (vett[i] - med);

  d = sqrt(d/(lung-1));
  return d;
}


int main (void)
{
  int v[N];
  double m, ds;

  leggiVettore(v, N);

  m = media(v, N);
  printf("La media e` %g\n", m);

  ds = deviazioneStandard(v, N, m);
  printf("La deviazione standard e` %g\n", ds);

  return 0;
}