.NET 4.x Циклический сдвиг элементов в массиве - C#
Формулировка задачи:
Задача такова: необходимо найти среднее арифметическое (далее СА) первых трёх чисел в массиве, после этого произвести сдвиг и найти СА следующих трёх чисел. То есть сначала ищём среднее арифметическое 1--ого, 2-ого, 3-его элементов, далее 2ого, 3-его, 4-ого, затем 3-его, 4-ого, 5-ого, и так до 20-ого конечного элемента массива, то есть: 18,19,20. Также результаты СА вывести на экран. Вычислить СА 1-ых трёх чисел легко, а вот организовать циклический сдвиг на один и затем опять СА вычислить не получается... Прошу помочь, кто знает.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication9
{
class Program
{
static void Main(string[] args)
{
{
int[] mass1 = { 27, 28, 24, 22, 20, 26, 22, 26, 23, 23, 27, 22, 22, 24, 26, 31, 29, 28, 28, 27 };
int t = 0, sm = 0, i;
//цикл вычисления среднего ариф.
for (t = 0; t < 3; t++)
{
sm = sm + mass1[t];
}
Console.WriteLine("{0}", sm / 3);
Console.ReadKey();
}
}
}
}Решение задачи: «.NET 4.x Циклический сдвиг элементов в массиве»
textual
Листинг программы
int[] mass1 = { 27, 28, 24, 22, 20, 26, 22, 26, 23, 23, 27, 22, 22, 24, 26, 31, 29, 28, 28, 27 };
double avg;
for (int i = 2; i < mass1.Length; i++)
{
avg = (double)(mass1[i - 2] + mass1[i - 1] + mass1[i]) / 3;
Console.WriteLine("{0,5:f2}", avg);
}