ГПОУ «Ленинск-Кузнецкий политехнический техникум»
Основы алгоритмизации
и программирования
Одномерные массивы
Преподаватель Щеглова Алена Александровна
Теоретическое занятие
для студентов II курса
Ленинск-Кузнецкий, 2023
Массивы
Массив - упорядоченная последовательность данных, состоящая из конечного числа элементов, имеющих один и тот же тип, и обозначаемая одним именем
Виды массивов
Одномерный массив
Одномерный массив - это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер
Индекс (порядковый номер) элемента массива, начинается с 0
0 1 2 3 4 5 6
44
22
10
11
14
30
19
Значение элемента массива
А
Имя массива
Пример одномерного массива
Свойства одномерных массивов
- Количество элементов заранее фиксируется
- У всех элементов общее имя – имя массива
- У каждого элемента имеется свой номер
- У каждого элемента свое значение, но у элементов с разными номерами могут быть одинаковые значения
0 1 2 3 4 5 - индекс
2
2
0
1
4
1
- значения элементов
D – имя массива
Тип одномерного массива
Все элементы массива имеют один и тот же тип
Определите тип элементов массива:
1) { 1, 2, 3, 5 }
2) {"зима","весна","лето","осень"};
3) { 1,2, 2,5, 5,7};
2
2
0
1
4
1
- int
Размер одномерного массива
Размер массива – это количество его элементов;
Определите размер массива:
1) {1, 2, 3, 5, 7}
2) {"зима","весна","лето","осень"};
2
2
0
1
4
1
- размер = 6
Объявление одномерного массива
1)
тип[] имя_массива = new тип[размер_массива];
Например: int[] a = new int[5]; /* массив a целых чисел, размер которого равен 5*/
2)
тип[] имя_массива;
имя_массива = new тип[размер массива];
Например:
int[] a;
int[] a = new int[5]; // массив a из пяти элементов целого типа
Задание
Объявите массив, содержащий дни недели двумя способами:
- тип[] имя_массива = new тип[размер массива];
2) тип[] имя_массива;
имя_массива = new тип[размер массива];
Индексы элементов
Для обращения к элементам массива используются индексы.
Индекс - номер элемента в массиве, нумерация начинается с нуля.
Индекс первого элемента будет равен 0.
Индекс
0 1 2 3 4 5 6
44
22
10
11
14
30
19
Обращение к элементам
Имя_массива [Индекс_элемента]
А[1]
Индекс
0 1 2 3 4 5 6
19
14
30
11
10
22
44
Значение элемента массива
А
Имя массива
Определить значение элемента А[1]
Обращение к элементам
А
0 1 2 3 4 5 6
10
44
22
19
30
14
11
А[0]
А[1]
А[2]
А[3]
А[5]
А[6]
А[4]
Задание
- Определите имя массива
- Определите размер массива
- Определите индексы элементов
- Напишите обращение к элементу массива со значением 10 и 14
В
44
10
11
14
30
Инициализация
Инициализация - это процедура присваивания значений свободным ячейкам массива
- Тип [] Имя_переменной = new тип [Размер]{значения};
Например
- int[] n = new int[4] { 1, 2, 3, 5 };
2) Тип [] Имя_переменной = new тип []{значения};
Например
- int[] n1 = new int[] { 1, 2, 3, 5 };
3) Тип [] Имя_переменной = new []{значения};
Например
int[] n2 = new[] { 1, 2, 3, 5 };
Инициализация
4) Тип [] Имя_переменной ={значения};
Например
string[] seasons = {"зима","весна","лето","осень"};
int[] n5 = { 1, 2, 3, 5 };
5) указать количество элементов в массиве, при этом его элементам будут присвоены значения по умолчанию:
тип[] Имя_массива = new тип[размер];
Например
string[] sa1 = new string[3];
Инициализация
6) инициализация массива
Тип[] имя_массива = new тип [размер];
Имя_массива [индекс] = значение;
Например
int n=new int[5];
n[0] = 5; n[1] = 2; n[4] = 3; n[5] = 2; // причина ошибки???
Инициализация
7)В качестве массива можно представить список студентов в группе (имена), показатели температуры воздуха за последние несколько дней и так далее.
8) инициализация массива, ввод значений с клавиатуры
Тип[] имя_массива = new тип [размер];
Имя_массива [индекс] = int.Parse(Console.ReadLine());
Например
int[] n1= new int[5];
n1[0] = int.Parse(Console.ReadLine());
n1[1] = int.Parse(Console.ReadLine());
n1[2] = int.Parse(Console.ReadLine());
Доступ к элементам массива
Имя_массива [индекс] = {значения};
Например
int[] n = { 1 , 2 , 3 , 5 };
- Назовите имя массива
- Назовите размер массива
- Определите тип данных в массиве
- Определите значения элементов массива:
n[0] =
n[1] =
n[2]=
n[3] =
1
2
3
5
Вывод элементов массива
Console.WriteLine(Имя_массива[Индекс]);
Например
int[] n = { 1 , 2 , 3 , 5 };
Console.WriteLine(n[2]);
Определите результат
3
Передача значения элемента в переменную
тип Имя_переменной = имя_массива[Индекс];
Например
int[] n = { 1 , 2 , 3 , 5 };
int а = n[1];
Console.WriteLine(а);
Определите результат
2
Изменения значений элементов
Имя_переменной [Индекс] = значение;
Пример
int[] n = {1, 2, 0, 5};
n[1]=9;
Console.WriteLine(n[1]);
//9, т.е. {1, 9, 0, 5}
Задание
int[] n = { 1, 2, 3, 5 };
Изменить значение второго элемента массива на число 6
int[] n = { 1, 2, 3, 5 };
n[2]=6;
Console.WriteLine(n[2]); //6
Свойство Length и длина массива
Length - длина массива
имя_массива.Length;
Например, получить длину массива n[]={1,2,3,5}
Console.WriteLine(n.Length); /* в результате получим 4, т.к. массив содержит 4 элемента*/
Доступ к элементам и
обход элементов массива
Цикл for: для указания верхней границы переменной можно воспользоваться свойством Length у массива:
for(int i = 0; i
{
Console.Write(n[i].ToString() + " ");
}
// 1 2 3 4 5
Доступ к элементам и
обход элементов массива
Цикл foreach:
foreach (тип счетчик in и мя_массива)
{ тело }
- тип – тип переменной с именем счетчик
- счетчик – имя переменной, которая используется в качестве итератора
- имя_массива – имя массива, который просматривается
Например
int[] n = new[] { 1, 2, 3, 5 };
{
foreach (var i in n )
Console.Write( i .ToString() + " ");
}
Ввод элементов массива
пользователем с клавиатуры
1)
int[] n = new int[5];
for (int i = 0; i
{ n[i] = Convert.ToInt32(Console.ReadLine()); }
2)
int[] n = new int[5];
foreach (var i in n) {
n[i] = Convert.ToInt32(Console.ReadLine());
}
Вывод элементов массива
1)
int[] n = new[] { 1, 2, 3, 5 };
{
for (int i = 0; i
Console.WriteLine("n[{0}]={1}", i, n[i]);
}
Заполнение массива
случайными числами
int[] n= new int[5];
var rand = new Random();
for (int i=0; i
n[i] = rand.Next(0,5);
Console.WriteLine("n[{0}]={1}", i, n[i]); }