Цикл foreach - універсальний перелічувач для колекцій. Синтаксис:
foreach(<змінна> in <колекція>)
Елемент <змінна> задає тип та ім'я змінної, яка під час роботи циклу foreach прийматиме значення елементів з колекції.
Цикл має наступну семантику: "Для кожного елемента з колекції виконувати".
Оскільки масив можна визначити як колекцію, цей цикл може використовуватись для перебору елементів масиву.
Значення елементів масиву в цьому циклі змінити не можна!
int[] a = new int[] { 61, 2, 55, -9 };
foreach (int i in a) Console.WriteLine(i);
Результат роботи: 61, 2, 55, -9
Тобто виводяться не індекси елементів, а відповідні їм значення.
Ввести з клавіатури кількість елементів масиву та самі елементи. Знайти:
class Program
{
static void Main(string[] args)
{
// Введення кількості елементів масиву
Console.WriteLine("Введіть кількість елементів масиву:");
int n = Convert.ToInt32(Console.ReadLine());
// Створення масиву з нульовою ініціалізацією
int[] array = new int[n];
// Введення елементів масиву
Console.WriteLine("Введіть елементи масиву (по одному на рядок):");
for (int i = 0; i < n; ++i)
array[i] = Convert.ToInt32(Console.ReadLine());
// Обчислення суми та кількості від'ємних елементів
long negativeSum = 0;
int negativeCount = 0;
foreach (int element in array)
{
if (element< 0)
{
negativeSum += element;
negativeCount++;
}
}
// Виведення результатів для від'ємних елементів
Console.WriteLine($"Сума від'ємних елементів = {negativeSum}");
Console.WriteLine($"Кількість від'ємних елементів = {negativeCount}");
// Пошук максимального елемента
int maxElement = array[0];
foreach (int element in array)
{
if (element> maxElement)
maxElement = element;
}
// Виведення максимального елемента
Console.WriteLine($"Максимальний елемент = {maxElement}");
Console.WriteLine("Натисніть будь-яку клавішу для виходу...");
Console.ReadKey();
}
}
Введіть кількість елементів масиву:
5
Введіть елементи масиву (по одному на рядок):
-3
8
-5
12
-1
Сума від'ємних елементів = -9
Кількість від'ємних елементів = 3
Максимальний елемент = 12
Натисніть будь-яку клавішу для виходу...