 /* '05 Main.cpp' */

 /* Plik nagłówka strumienia wejścia-wyjścia */
#include <iostream>

double Average (int * ListValues, int Elements);

 /* Start */
main (void)
{
  /* Deklaracja wskaźnika do wartości int */
 int * Values;
 int NumberValues;
 int TotalValues;

  /* Pobranie ilości wartości */
 std::cout << "Ile liczb chcesz wprowadzic?  ";
 std::cin >> TotalValues;

  /* Dynamiczny przydział pamięci */
 Values = new int [TotalValues];
 
  /* Pobranie wartości od użytkownika*/
 for (NumberValues = 0; NumberValues < TotalValues; NumberValues ++)
 {
  std::cout << "Wprowadz wartosc " << NumberValues + 1 << " : ";
  std::cin >> Values [NumberValues];
 }

  /* Obliczenie średniej */
 double AverageValues;
 AverageValues = Average (Values, TotalValues);

  /* Wyświetlenie średniej */
 std::cout << "Srednia z wszystkich wartosci wynosi : " << AverageValues;
 std::cout << std::endl;

  /* Uwolnienie pamięci zajmowanej przez tablicę */
 delete [] Values;

 return 0;
}

 /* Obliczanie średniej */
double Average (int * ListValues, int Elements)
{
 double Total = 0;
 int NumberElement;

  /* Sumowanie wszystkich wartości w Total */ 
 for (NumberElement = 0; NumberElement < Elements; NumberElement ++)
 {
  Total += ListValues [NumberElement];
 }
  /* Obliczenie średniej i jej zwrócenie */
 return Total / Elements;
}
