Найти сумму элементов между крупнейшим и самым маленьким элементом в массиве - 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()); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д