codice:
/* Dato un elenco di persone con l'indicazione del nome e dell'altezza, 
calcolare l'altezza media */

#include <iostream>
using namespace std;

typedef struct persone {
	char nome[20];
	int altezza;
} persone;

persone elenco[100];
int n;

int input(const int n) //Funzione per l'acquisizione dei dati di input
{
	int i = 0;

	for (i = 0; i < n; i++)
	{
		printf("\nInserisci il nome della persona n. %i: ", i + 1);
		cin >> elenco[i].nome;
		printf("\nInserisci l'altezza in cm della persona n. %i: ", i + 1);
		cin >> elenco[i].altezza;
		}
	return 0;
}


int media(const int n)  //Funzione per il calcolo della media
{
	int i = 0;
	int somma = 0;
	int media;

	for (i = 0; i < n; i++);
		somma = somma + elenco[i].altezza;
	
	media = somma / n;
	return media;
}

int main()
{
	printf("\nQuante persone ci sono nell'elenco? (max 100) ");
	cin >> n;

	input(n);

	printf("L'altezza media e' %i cm.", media(n));
}
L'output è sempre 0... Come mai?

Grazie.