C#В массиве A=(a1, а2, ..., аn) удалить все элементы, меньшие, чем элемент массива, расположенный слева от максимального.Например генерируем массив: 2 13 5 23 11 12 1 7Получим: 5 23 11 12 17 ( как я понял )Заранее спасибо.

20 Авг 2019 в 08:46
266 +1
0
Ответы
1

Для решения данной задачи можно использовать следующий код на C#:

using System;
class Program
{
static void Main()
{
int[] A = { 2, 13, 5, 23, 11, 12, 1, 7 };
int maxIndex = 0;
for (int i = 0; i < A.Length; i++)
{
if (A[i] > A[maxIndex])
{
maxIndex = i;
}
}
int leftMax = A[0];
for (int i = 1; i < maxIndex; i++)
{
if (A[i] > leftMax)
{
leftMax = A[i];
}
}
for (int i = A.Length - 1; i >= 0; i--)
{
if (A[i] < leftMax)
{
A = A.Where((val, idx) => idx != i).ToArray();
}
else
{
leftMax = A[i];
}
}
foreach (var num in A)
{
Console.Write(num + " ");
}
}
}

Этот код найдет максимальный элемент в массиве A, затем найдет элемент слева от него. После этого пройдется по массиву справа налево и удаляет элементы, которые меньше, чем leftMax. В результате на экране будут выведены только нужные элементы.

20 Апр в 13:30
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 134 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир