Wszystko masz dobrze, oprócz dwóch rzeczy. Jedną z nich jest zwolnienie pamięci, poprzez delete[], o czym wspomniał Avalon (chyba że zwalniasz tę pamięć w obciętym fragmencie programu ;).
Druga drobnostka to fakt, że w funkcji liczącej średnią chcesz zliczać od zerowego elementu, a przekazujesz wskaźnik na ostatni element tablicy. ;) Wystarczy jedna operacja dodatkowa i będziesz mieć działający program. :)
Ach, na przyszłość staraj się unikać jak ognie zmiennej o nazwie 'l' - to jest okropnie mylące.