Здравствуйте, как в с# от индекса а до индекса б ничего не делать с массивом а дальше заменить на ноли?

Рейтинг: 0Ответов: 1Опубликовано: 28.01.2023

Данные в массив поступают с консоли. Массив одномерный. В коде не знаю как написать именно что диапазон от а до b не трогать а дольше все поменять на ноль


Есть массив одномерный его размер и заполнение числами вводится с консоли. Дальше поступает число а это начало интервала и второе число b конец интервала. Вот от а и до b не трогать в массиве элементы а все остальные поменять на ноль. Гарантируется что a < b, a и b >= 0, a и b< размера массива

Ответы

▲ 0Принят

Так?

var array = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // Массив собственно.

var a = int.Parse(Console.ReadLine()); // Получаем с консоли значение, разбираем в число и присваиваем к а.
var b = int.Parse(Console.ReadLine()); // Получаем с консоли значение, разбираем в число и присваиваем к b.

for (int i = 0; i < array.Length; i++) { // Цикл который проходит по всему массиву
    if (i < a || i > b) { // Если индекс элемента ниже а или же выше б, то есть не в диапазоне [а, b]...
        array[i] = 0; // ...заменяем элемент на 0.
    }
}