Похожие презентации:
Массивы в C#
1. Массивы в C#
2. Объявление массива
Массив – это последовательная группапеременных, имеющих одно имя и один тип.
Объявление массива имеет следующий вид:
<тип переменной> [] <имя массива> =
new <тип переменной> [размерность массива]
3. Объявление массива
Пример:int [] a = new int[10] // объявлен массив а с
размерностью 10
double [] b = new double[15] // объявлен массив
b с размерностью 15
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. Задание 2
Дан целочисленный массив состоящий из nэлементов. Элементы массива принимают
значения в интервале [-10; 10]. Найдите
максимальный элемент массива
13. Двумерные массивы
<тип переменной> [,] <имя массива> =new <тип переменной> [количество строк,
количество столбцов]
Пример:
int[,] a = new int[10,10];
Для работы с двумерными массивами
используются два цикла: по строкам и по
столбцам.
14. Ступенчатые массивы
В ступенчатых массивах количество элементовв разных строках может быть различным. В
памяти ступенчатый массив хранится в виде
массива массивов. Структура ступенчатого
массива:
|Массив | a | | a[0] | | a[0][0] | a[0][1] | … | | | |
| | | | a[1] | | | | | | | |
| | | | … | | a[1][0] | a[1][1] | … | | | |
| | | | a[n] | | | | | | | |
| | | | | | a[n][0] | a[n][1] | … | | | |
Объявление ступенчатого массива:
тип [][] имя_массива;
15. Ступенчатые массивы
Объявление ступенчатого массива:тип [][] имя_массива;
Например:
int [][]a;
16. Ступенчатые массивы
Например:int [][] a= new int [3][]; // Создаем три строки
a[0]=new int [2]; // 0-ая строка ссылается на 2-х
элементый одномерный массив
a[1]=new int [3]; // 1-ая строка ссылается на 3-х
элементый одномерный массив
a[2]=new int [10]; // 2-ая строка ссылается на
10-ти элементый одномерный массив
17. Ступенчатые массивы
Другой способ выделения памяти:int [][] a= {new int [2], new int [3], new int [10]};
Так как каждая строка ступенчатого массива
фактически является одномерным массивом, то
с каждой строкой можно работать как с
экземпляром класса Array.
18. Ступенчатые массивы
Пример:class Program
{
static void Main()
{
try
{
int[][] MyArray;
Console.Write("Ввведите количество строк: ");
int n = int.Parse(Console.ReadLine());
MyArray = new int[n][];
for (int i = 0; i < MyArray.Length; i++)
{
Console.Write("введите коли
19. Ступенчатые массивы
Console.Write("введите количество элементов в{0} строке: ", i);
int j = int.Parse(Console.ReadLine());
MyArray[i] = new int[j];
for (j = 0; j < MyArray[i].Length; j++)
{
Console.Write("a[{0}][{1}]= ", i, j);
MyArray[i][j] = int.Parse(Console.ReadLine());
}
}
PrintArray("исходный массив:", MyArray);
for (int i = 0; i < MyArray.Length; i++)
20. Ступенчатые массивы
{Console.WriteLine("переполнение");
}
catch (OutOfMemoryException)
{
Console.WriteLine("недостаточно памяти для
создания нового объекта");
}
}
static void PrintArray(string a, int[][] mas)
{
21. Задание 3
Дан двумерный массив размерности 4х4.Элементы массива принимают значения в
интервале [-5;5].
Найти минимальный элемент массива.
Проверить элементы массива на четность. Если
элемент четный, увеличить его в 2 раза, если
нечетный - в 3 раза. Найти минимальный элемент
нового массива.