/* Calcolo dell'indice di concentrazione di Gini
http://it.wikipedia.org/wiki/Indice_di_concentrazione_di_Gini
- usa x, t, q, g, i, n
- leggi il numero di valori n
- inizializza a 0 t, q, g
- ripeti n-1 volte
- leggi x
- t <- t + x
- q <- q + x
- g <- g + q
- leggi l'n-esimo valore x
- t <- t + x
- g <- 1 - 2 * g / (t * (n-1))
- visualizza g
*/
#include <stdio.h>
int main (int argc, const char * argv[]) {
float x, t, q, g;
int i, n;
printf("Inserire numero di valori ");
fflush(stdout);
scanf("%d", &n);
t = 0;
q = 0;
g = 0;
for (i=1; i<n; i=i+1) {
printf("Inserire elemento n.%d: ", i);
scanf("%f", &x);
t = t + x;
q = q + x;
g = g + q;
}
printf("Inserire elemento n.%d: ", i);
scanf("%f", &x);
t = t + x;
g = 1 - 2 * g / t / (n-1);
printf("Indice di Gini=%f\n", g);
return 0;
}