Практический пример. Одномерный массив.

Практический пример. Одномерный массив.

Программа подсчитываем количество четных и нечетных элементов в массиве. Все элементы массива задаются случайным образом диапазоне от 0 до 999.

static void Main()

Console.WriteLine("Введите кол-во элементов массива: ");

// Вводим количество элементов с клавиатуры

// В случае переполнения

Console.WriteLine(ex.Message + " Default size (=10)");

// В случае ошибочного ввода

Console.WriteLine(ex.Message + " Default size (=10)");

// Если n = 0, то создадим массив из 10 элементов

int [] ar = new int[n];

// Инициализация генератора случайных чисел

Random rand = new Random();

for(int i = 0; i < n; i++)

// Забиваем массив случайными числами

// Счетчики четных и нечетных чисел

int odd = 0, even = 0;

// Бежим по массиву

foreach(int i in ar)

// Вывод результатов подсчета

Console.WriteLine("Четных чисел: \nНечетных: ", even, odd);

  1. Самостоятельно изучить возможности языка программирования C# для описания, инициализации и обработки одномерных массивов.
  2. Создать консольное приложение, в котором реализовать следующие вычисления:

- объявление заданного массива фиксированной заданной длины (прог.);

- инициализацию элементов массива случайными целыми числами в заданном интервале (в одном цикле for);

- вывод элементов массива на консоль (в одном цикле foreach);

- заданную обработку массива и вывод элементов обработанного массива на консоль.

  1. В качестве результатов вывести исходный и обработанный массивы, а также (если это предполагает задание на обработку) найденное числовое значение.
  2. Выполнить контрольную пошаговую обработку вручную для массива длиной ручн.
  3. Сделать вывод.

Варианты заданий к лабораторной работе №3, 4:

№ варианта Длина массива для прог. / ручн. Интервал генерации Обработка элементов массива 50 / 8 [-10, 5] Определить количество четных положительных элементов и сделать указанные элементы отрицательными 70 / 5 [-5, 10] Найти максимальный положительный элемент и отрицательные элементы увеличить на найденный максимальный положительный элемент 65 / 5 [-20, 10] Определить количество четных элементов больше 5, а нечетные элементы уменьшить на 5 30 / 6 [-30, 0] Удвоить элементы, меньшие среднего арифметическое значение элементов массива 20 / 6 [-20, 25] Найти максимальный по модулю элемент массива. Положительные элементы сделать отрицательными и увеличить на найденный максимальный элемент 50 / 5 [-15, 75] Найти минимальный по модулю не нулевой элемент и заменить на него нулевые элементы массива 100 / 7 [-30, 100] Определить количество отрицательных элементов массива. Элементы, значение которых меньше найденного количества, увеличить вдвое 50 / 8 [-40, 20] Определить количество нечетных элементов меньше 5, а четные элементы обнулить 60 / 3 [-40, 60] Нечетные элементы уменьшить на минимальный четный элемент 25 / 3 [-15, 15] Вычислить разность количества положительных и отрицательных элементов массива и все элементы увеличить на найденную разность 30 / 3 [0, 100] Поменять местами 1-й положительный элемент с последним положительным элементом, 2-й - предпоследним и т.д. 55 / 5 [-50, 50] Определить количество пар соседних элементов, которые имеют одинаковые абсолютные значения, но противоположные знаки 70 / 9 [0, 100] Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение 45 / 4 [-50, 50] Заменить все элементы с положительными значениями абсолютным значением отрицательного элемента с максимальным абсолютным значением 50 / 6 [-50, 50] Подсчитать количество пар соседних элементов с одинаковыми значениями 50 / 4 [-100, 100] Во всех последовательностях положительных чисел ограничить значения тех элементов, абсолютное значение которых ниже абсолютного среднего для этой последовательности 75 / 8 [-100, 100] Заменить каждый элемент на среднее арифметическое его и его соседей слева и справа. 80 / 4 [-100, 100] Найти ту непрерывную последовательность положительных чисел, сумма элементов в которой максимальная 60 / 4 [-50, 50] Во всех последовательностях отрицательных чисел поменять местами элементы с максимальным и минимальным значениями 30 / 3 [-100, 100] Во всех последовательностях положительных чисел ограничить снизу значения тех элементов, значения которых меньше среднего для этой последовательности 40 / 3 [-50, 50] Подсчитать количество пар соседних элементов, которые имеют противоположные знаки 50 / 5 [-50, 50] Для каждого положительного элемента определить, есть ли в массиве отрицательный элемент с противоположным значением; если да, заменить эти элементы на 0 40 / 7 [-100, 100] Разместить все элементы с положительными значениями в левой части массива, элементы с отрицательными значениями - в правой, а нули - между ними 100 / 4 [0, 100] Найти непрерывный участок из 10 элементов, который имеет наибольшее среднее значение элементов 50 / 8 [-100, 100] Ограничить значения всех элементов, абсолютные значения которых превышают среднее для положительных и отрицательных элементов 55 / 6 [-50, 50] Вывести начальные индексы всех непрерывных знакопеременных последовательностей чисел 45 / 3 [0, 100] Подсчитать количество участков, которые образуют непрерывные последовательности чисел с неуменьшающимися значениями 65 / 5 [-50, 50] Найти из непрерывных последовательностей отрицательных чисел ту, которая имеет наибольшее абсолютное значение среднего арифметического ее элементов 40 / 5 [-100, 100] Во всех последовательностях отрицательных чисел изменить порядок элементов на противоположный и зеркально поменять последовательности местами 50 / 5 [-50, 50] Во всех последовательностях положительных чисел изменить порядок элементов на противоположный 75 / 8 [0, 100] Найти непрерывный участок из 10 элементов, сумма которых максимальна 45 / 5 [-50, 50] Вывести начальные индексы всех непрерывных последовательностей чисел с неувеличивающимися значениями 55 / 4 [-100, 100] Вывести начальные индексы всех непрерывных последовательностей неотрицательных чисел, длина которых больше 5 80 / 7 [-100, 100] Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов 55 / 6 [-50, 50] Найти непрерывные участки, на которых сумма элементов равна 0 65 / 5 [-50, 50] Определить среднюю длину непрерывных участков положительных чисел 50 / 4 [-50, 50] Подсчитать количество всех, непрерывных последовательностей положительных чисел, длина которых больше 7 65 / 6 [-100, 100] Разместить все элементы с нулевыми значениями в левой части массива, элементы с отрицательными значениями - за ними, а за ними - элементы с положительными значениями 30 / 4 [-100, 100] Во всех последовательностях положительных чисел заменить значения элементов с максимальным и минимальным значением на среднее для этой последовательности 75 / 5 [-100, 100] Заменить все элементы с отрицательным значением на значение минимального не равного 0 положительного элемента

1. Что такое массив?

2. Объявление массива в С#.

3. Создание экземпляра массива.

4. Какими значениями инициализируется вновь созданный массив по умолчанию?

5. Правила обращения к элементам массива.

6. Способы инициализации элементов массива.

7. Структура инициализации элементов массива с использованием параметрического цикла.

8. Структура цикла foreach, его назначение и отличия от параметрического цикла for.

9. Отличительные особенности обработки массивов в циклах for и foreach.

10. Как в языке С# осуществить генерацию случайного целого числа в диапазоне [a, b]?

11. Как в языке С# произвести инициализацию целочисленной переменной значением, введенным с клавиатуры?

📎📎📎📎📎📎📎📎📎📎