Similar presentations:
Массивы в C#
1.
Массивы в C#2.
Объявление массиваМассив – это последовательная группа
переменных, имеющих одно имя и один тип.
Объявление массива имеет следующий вид:
<тип переменной> [] <имя массива> = new
<тип переменной> [размерность массива]
3.
Объявление массиваПример:
int [] a = new int[10] // объявлен массив а с
размерностью 10
double [] b = new double[15] // объявлен массив
b с размерностью 15
string[] weekDays = new string[] { "Sun", "Mon",
"Tue", "Wed", "Thu", "Fri", "Sat" }; // дни недели
4.
Индексы массиваИндекс (порядковый номер) элемента
массива всегда является целым числом. Отсчет
начинается с 0.
Например в массиве целых чисел a с
размерностью 14:
a[0] – первый элемент массива
a[13] – последний элемент массива
5.
Инициализация массиваВозможна инициализация массива.
Пример:
char [] charray = {‘5’, ‘g’, ‘;’, ‘&’ , ‘ю’};
char ch1 = charray[0]; // ‘5’
char ch3 = charray[3]; // ‘&’
6.
Генерация элементов массиваДля генерации элементов массива в C#
используется класс Random. Чтобы им
воспользоваться необходимо создать новый
объект класса.
Random <имя объекта> = new Random();
7.
Генерация элементов массиваЭлементы массива генерируются внутри
цикла следующим образом:
for (int i=0; i<n; i++)
{
a[i] = rn.Next(11)-5;
}
Next – это метод класса Random, который
возвращает неотрицательное случайное целое
число.
8.
Основные свойства и методыLength (свойство класса Array) - общее число
элементов во всех измерениях массива Array.
<имя массива>.Length
IndexOf и LastIndexOf (методы класса Array)
- определяют индексы первого и последнего
вхождения образца в массив, возвращая -1,
если такового вхождения не обнаружено.
Применяется только для одномерного массива.
Array.IndexOf(<имя массива>, <образец>)
9.
Основные свойства и методыSort (метод класса Array) - осуществляет
сортировку массива.
Array.Sort(<имя массива>);
Reverse (метод класса Array) - выполняет
обращение одномерного массива, переставляя
элементы в обратном порядке.
Array.Reverse(<имя массива>, <начальный
индекс>, <число элементов>)
10.
Оператор цикла foreachОператор цикла foreach перебирает подряд
все элементы массива.
foreach (<тип переменной>
<имя переменной> in <имя массива>) {…}
Тип переменной должен совпадать с типом
элементов массива.
Пример:
int[] a = new int[5];
foreach (int i in a) {…}
11.
Задание 1Дан целочисленный массив состоящий из 10
элементов. Элементы массива принимают
значения в интервале [-7; 7]. Найдите
последнее вхождение в массив элемента n (n
вводится с клавиатуры). Подсчитайте
количество элементов массива меньших n.
12.
Код программы13.
Пример 1:Подсчитать сумму положительных и кратных 5
элементов массива размерности n, элементы
которого задаются случайным образом в
интервале [-25; 15] (n вводится с клавиатуры).
Вывести исходный массив и ответ на экран.
14.
Текст программы:static void Main(string[] args)
{
Console.Write("Введите размерность массива ");
int n = Convert.ToInt32(Console.ReadLine());
int sum = 0;
int [] a= new int [n];
Random rn = new Random();
for (int i = 0; i < n; i++)
{
a[i] = rn.Next(-25, 16);
Console.Write("{0,5}", a[i]);
if (a[i] > 0 && a[i] % 5 == 0) sum += a[i];
}
Console.WriteLine("\nСумма положительных элементов,
кратных 5 = {0}", sum);
Console.ReadKey();
}
15.
Задание 2Дан целочисленный массив состоящий из n
элементов. Элементы массива принимают
значения в интервале [-20; 20]. Найдите
произведение нечётных отрицательных
элементов массива.
16.
Задание 3Дан целочисленный массив состоящий из n
элементов. Элементы массива принимают
значения в интервале [-10; 10]. Найдите
максимальный элемент массива
17.
Пример 2Вывести на экран все двухзначные числа, в
которых старшая цифра отличается от
младшей не больше чем на 1
18.
Текст программы:19.
Пример 3Дан одномерный массив размерности n (n
вводится с клавиатуры). Элементы массива
задаются случайным образом. Найти сумму
квадратов четных элементов. Вывести
исходный массив и ответ на экран.
20.
Текст программы:21.
Двумерные массивы<тип переменной> [,] <имя массива> =
new <тип переменной> [количество строк,
количество столбцов]
Пример:
int[,] a = new int[10,10];
Для
работы
с
двумерными
массивами
используются два цикла: по строкам и по
столбцам.
22.
Двумерные массивыПример: Вычислить
элементов
матрицы,
побочной диагонали
произведение четных
расположенных
на
23.
Двумерные массивыConsole.Write("Введите размерность матрицы: ");
int n = Convert.ToInt32(Console.ReadLine());
int[,] a = new int[n, n];
int p = 1;
Random rn = new Random();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
a[i, j] = rn.Next(10);
if (i + j == n - 1 && a[i, j] % 2 == 0)
{ Console.Write("{0,4}", a[i, j]);
p*= a[i, j];
}
Console.WriteLine();
}
Console.WriteLine("Произведение четных элементов побочной диагонали: " + p);
24.
Задание 4Дан двумерный массив размерности 4х4.
Элементы массива принимают значения в
интервале [0;10].
Найти минимальный элемент массива.
Проверить элементы массива на четность. Если
элемент четный, увеличить его в 2 раза, если
нечетный - в 3 раза. Найти минимальный элемент
нового массива.
25.
Самостоятельно1. Найти сумму элементов одномерного массива,
заданного случайным образом на интервале [13;11;]. Размерность вводится с клавиатуры.
2. Сформировать и вывести на экран массив,
элементы которого заданы случайным образом на
интервале [-19, 26] (размерность вводится с
клавиатуры). Найти произведение элементов с
нечетными номерами.
3. В заданном одномерном массиве, состоящем
из n целых чисел, подсчитать количество нулей.
26.
Самостоятельно4. Дан двумерный массив размерности nхn.
Элементы массива принимают значения в
интервале [-3;3].
Найти среднее арифметическое элементов,
лежащих на главной диагонали.
Если элемент массива являются
отрицательными, заменить его на его модуль.
Найти среднее арифметическое элементов
лежащих на главной диагонали нового массива.
programming