Ошибка при поиске максимального элемента
Решаю задачу на статический метод. Результатом должен возвратиться массив из двух элементов - мах и мин. Решил пока сделать 2 стат метода. Реализацию привел ниже. Минимальное значение находит, а на поиске макс значении программа ломается
using System;
class T_5_9
{
static int Minimum(int[] nums,out int value1)
{
value1 = 0;
for (int k = 1; k < nums.Length; k++)
{
if (nums[k] < nums[value1])
{
k = value1;
}
}
return nums[value1];
}
static int Maximum(int[] nums, out int value2)
{
value2 = 0;
for (int j = 1; j < nums.Length; j++)
{
if (nums[j] > nums[value2])
{
j = value2;
}
}
return nums[value2];
}
static void Main()
{
int Min, Max, value1, value2;
int[] a = new int[] { 1, 5, 66, 11, 2, 3, 51, 44 };
Min = Minimum(a, out value1);
Console.WriteLine();
Console.WriteLine("Наименьшее значение " + Min + " " + value1);
Max = Maximum(a, out value2);
Console.WriteLine();
Console.WriteLine("Наибольшее значение " + Max+ " " + value2);
Console.ReadLine();
}
}
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
У вас оба присвоения индекса перевёрнуты
if (nums[k] < nums[value1])
{
value1 = k;
}
и
if (nums[j] > nums[value2])
{
value2 = j;
}