Найти расстояние между первым и последним максимальным элементом массива
не могу добить до конца, дошла до вывода номеров всех максимальных чисел, но найти расстояние между первым и последним не выходит. Заранее спасибо за помощь
Random r = new Random();
int[] nums = new int[10];
for (int i = 0; i < 10; i++)
nums[i] = r.Next(0, 11);
Console.WriteLine("Random array");
foreach (int x in nums)
{
Console.Write($"{x} ");
}
Console.WriteLine();
int maxi = nums[0];
int mini = nums[0];
int max = -1;
int index1 = -1;
int index2 = -1;
// Цикл по всем элементам массива
// От 0 до размера массива
for (int i = 0; i < nums.Length; i++)
{
if (max <= nums[i])
{
// Запоминаем новое максимальное значение
max = nums[i];
// Запоминаем порядковый номер
index1 = i;
}
}
for (int i = 0; i < nums.Length; i++)
{
if (nums[i] == max)
{
index2 = i;
Console.WriteLine("Номер максимального числа: " + index2);
}
}
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Небольшая модификация, а второй цикл не нужен
int index1 = 0;
int index2 = 0;
for (int i = 1; i < nums.Length; i++)
{
if (nums[index1] < nums[i])
{ // Запоминаем порядковый номер
index1 = i;
index2 = i;
}
else if (nums[index1] == nums[i])
index2 = i;
}
вывести index2-index1