@danyvasnafig

Почему если последний элемент минимальный, то минимальным становится другой элемент?

Данная функция считает сумму элементов массива после минимального, если минимальный является последним элементом массива, то эта функция почему-то берет предыдущий минимальный и считай сумму после него, и если в функции два одинаковых минимальных, то она выводит сумму после первого. Помогите пофиксить эти два момента

{
            {
                int min = array[0], res = 0, count = 0;
                for (int i = 0; i < array.Length - 1; i++)
                {
                    if (array[i] < min)
                    {
                        min = array[i];                        
                        count = i;
                    }
                }
              
                    for (int j = count + 1; j < array.Length; j++)
                    {
                        res += array[j];
                    

                }
                return res;
            }
        }
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
Griboks
@Griboks Куратор тега C#
< array.Length - 1
-1 надо убрать

array[i] < min
заменить на <=
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы