public static void Main(string[] args)
var numbers = new int[]{5, 3, 7, 2, 3};
var averages = numbers.GetMovingAverage(3);
foreach (var average in averages)
Console.WriteLine(average);
public static class AverageExtensions
public static double[] GetMovingAverage(this int[] numbers, int width)
var averages = new double[numbers.Length];
for (var i = 0; i < numbers.Length; i++)
for (int j = 0; j < width; j++)
if (newPosition < numbers.Length)
sum += numbers[newPosition];
averages[i] = sum / totalNumbers;