Найти сумму элементов между крупнейшим и самым маленьким элементом в массиве - C#

Узнай цену своей работы

Формулировка задачи:

Нужно найти сумму элементов между крупнейшим и самым маленьким элементом в массиве(включая эти элементы). Вроде Бы работает, но мне не засчитали ее. Что здесь не так?
Листинг программы
  1. int[] array = { 1, 2, 0, 5, 4, 3,10, 2, 3 };
  2. int max = array[0];
  3. int min = array[0];
  4. int n = 0;
  5. int k = 0;
  6. int res = 0;
  7. for (int i = 0; i < array.Length; i++)
  8. {
  9. if (array[i] >max)
  10. {
  11. max = array[i];
  12. k = i;
  13. }
  14. if (array[i] < min)
  15. {
  16. min = array[i];
  17. n = i;
  18. }
  19. }
  20. if (n < k)
  21. {
  22. for (int j = n; j < k+1; j++)
  23. {
  24. res += array[j];
  25. }
  26. }
  27. else
  28. for (int j = k; j < n+1; j++)
  29. {
  30. res += array[j];
  31. }

Решение задачи: «Найти сумму элементов между крупнейшим и самым маленьким элементом в массиве»

textual
Листинг программы
  1. using System.Linq;
  2. using System;
  3.  
  4. class Program
  5. {
  6.     static void Main()
  7.     {
  8.         int [] arr = { 1, 2, 0, 5, 4, 3,10, 2, 3 };
  9.        
  10.         int max = arr.Max(); // находим макс и мин
  11.         int min = arr.Min();
  12.        
  13.         int maxi = Array.IndexOf(arr, max); // находим их индексы
  14.         int mini = Array.IndexOf(arr, min);
  15.        
  16.         int start, stop; // start - меньший индекс, stop - больший
  17.        
  18.         if(maxi > mini)
  19.         {
  20.             start = mini;
  21.             stop = maxi;
  22.         }
  23.        
  24.         else
  25.         {
  26.             start = mini;
  27.             stop = maxi;
  28.         }
  29.        
  30.         int len = stop - start + 1; // если не прибавить 1, не включится последнее число
  31.        
  32.         Console.WriteLine(arr.Skip(start).Take(len).Sum());
  33.     }
  34. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы