C#. Проблема с else
Возможно это самый тупой вопрос, который вы видели, но все же. Проблема в том, что конструкция else срабатывает, когда идущий перед ней if дает true и печатается несколько раз. В чем причина того, что он повторяется несколько раз, я предполагаю, но почему срабатывает каждый раз? Я мог бы убрать else и забыть, так как необязательно выводить сообщение "Таких элементов нет", но этот вопрос просто не дает покоя. Как можно реализовать правильное выполнение?
int[] arr = new int[10];
Random rnd = new Random();
Console.WriteLine("Массив из 10 рандомных элементов:");
for (int i = 0; i < arr.Length; i++)
{
arr[i] = rnd.Next(-200, 200);
Console.Write("{0,4} ", arr[i]);
}
Console.WriteLine("\n-------------------------------------------------------");
Console.WriteLine("Все элементы массива, оканчивающиеся нулем:");
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] % 10 == 0)
Console.Write("{0,4} ", arr[i]);
else
Console.Write("Таких элементов нет");
}
Выводит в консоль:
Массив из 10 рандомных элементов:
92 -93 194 -166 60 143 -14 -80 -122 47
-------------------------------------------------------
Все элементы массива, оканчивающиеся нулем:
Таких элементов нетТаких элементов нетТаких элементов нетТаких элементов нет 60 Таких элементов нетТаких элементов нет -80 Таких элементов нетТаких элементов нет