Найти сумму элементов между крупнейшим и самым маленьким элементом в массиве - C#
Формулировка задачи:
Нужно найти сумму элементов между крупнейшим и самым маленьким элементом в массиве(включая эти элементы).
Вроде Бы работает, но мне не засчитали ее. Что здесь не так?
int[] array = { 1, 2, 0, 5, 4, 3,10, 2, 3 };
int max = array[0];
int min = array[0];
int n = 0;
int k = 0;
int res = 0;
for (int i = 0; i < array.Length; i++)
{
if (array[i] >max)
{
max = array[i];
k = i;
}
if (array[i] < min)
{
min = array[i];
n = i;
}
}
if (n < k)
{
for (int j = n; j < k+1; j++)
{
res += array[j];
}
}
else
for (int j = k; j < n+1; j++)
{
res += array[j];
}Решение задачи: «Найти сумму элементов между крупнейшим и самым маленьким элементом в массиве»
textual
Листинг программы
using System.Linq;
using System;
class Program
{
static void Main()
{
int [] arr = { 1, 2, 0, 5, 4, 3,10, 2, 3 };
int max = arr.Max(); // находим макс и мин
int min = arr.Min();
int maxi = Array.IndexOf(arr, max); // находим их индексы
int mini = Array.IndexOf(arr, min);
int start, stop; // start - меньший индекс, stop - больший
if(maxi > mini)
{
start = mini;
stop = maxi;
}
else
{
start = mini;
stop = maxi;
}
int len = stop - start + 1; // если не прибавить 1, не включится последнее число
Console.WriteLine(arr.Skip(start).Take(len).Sum());
}
}