Презентация по основам алгоритмизации на тему "Обработка одномерных массивов"
- Рубрика: Презентации / Другие презентации
- Просмотров: 0
Презентация для классов "Презентация по основам алгоритмизации на тему "Обработка одномерных массивов"" онлайн бесплатно на сайте электронных школьных презентаций uchebniki.org.ua
Ленинск-Кузнецкий, 2023
ГПОУ «Ленинск-Кузнецкий политехнический техникум»
Преподаватель Щеглова Алена Александровна
Теоретическое занятие
для студентов II курса
Основы алгоритмизации
и программирования
Обработка одномерных массивов
Изменить размер массива
создать новый массив
скопировать в него значения требуемых элементов текущего массива
освободить память, выделенную под старый массив
Структура:
Array.Resize(ref имя_массива, новый размер массива);
int[] n = new int[7];
for (int i = 0; i < 5; i++) {
n[i] = int.Parse(Console.ReadLine()); }
Array.Resize(ref n, 4);
for (int i = 0; i < n.Length; i++)
{ Console.Write(n[i] + " "); }
int[] n = new int[5];
for (int i = 0; i < 5; i++) {
n[i] = int.Parse(Console.ReadLine()); }
Array.Resize(ref n, 2);
for (int i = 0; i < n.Length; i++){
Console.Write(n[i] + " "); }
Изменить размер массива
Индекс последнего элемента массива вычисляется:
Длина массива – 1
Например
Длина массива равна 5 (массив содержит 5 элементов),
5-1=4 – это индекс последнего элемента.
Длина массива равна 7 (массив содержит 7 элементов),
7-1=6 – это индекс последнего элемента.
Назовите длину массива:
string[] seasons = {"зима","весна","лето","осень"};
Назовите индекс последнего элемента
Получение элементов с конца массива
Length - позволяет получить последние элементы массива
Например
int[] n = { 1, 2, 3, 5 };
int[] n2 = { 1, 2, 3, 5 };
Console.WriteLine(n2[n.Length - 1]); /* 5 - последний элемент*/
Console.WriteLine(n2[n.Length - 2]); /* 3 - предпоследний элемент*/
Console.WriteLine(n2[n.Length - 3]); /* 2 - третий элемент с конца*/
Получение элементов с конца массива
Для перебора массивов используются циклы
1) Цикл foreach:
int[] n = { 1, 2, 3, 5 };
foreach (int i in n)
{
Console.WriteLine(i);
}
Цикл foreach последовательно извлекает элементы контейнера и только для чтения
Перебор массива
Цикл for:
int[] n = { 1, 2, 3, 5 };
for (int i = 0; i < n.Length; i++)
{
Console.WriteLine(n[i]);
}
Перебор массива
Цикл for позволяет перескакивать на несколько элементов вперед в зависимости от приращения счетчика и изменять элементы
int[] n = { 1, 2, 3, 5 };
for (int i = 0; i < n.Length; i++)
{ n[i] = n[i] * 2;
Console.WriteLine(n[i]);
}
int[] numbers = { 1, 2, 3, 4, 5 };
for (int i = 0; i < numbers.Length; i+=2)
{
Console.WriteLine(numbers[i]);}
Перебор массива
Цикл while:
int[] n = { 1, 2, 3, 5 };
int i = 0;
while(i < n.Length)
{
Console.WriteLine(n[i]);
i++;
}
Перебор массива
Array.IndexOf(имя массива,элемент, индекс которого нужно отобразить).
Если в массиве нет указанного элемента, то результат -1
Например
int[] n = { 54, 7, -41, 2, 4, 2, 89, 33, -5, 12 };
Console.WriteLine(«n(5)=" + Array.IndexOf(n, 5));
Console.WriteLine(“n(-5)=" + Array.IndexOf(n, -5));
int[] n = { 54, 7, -41, 2, 4, 2, 89, 33, -5, 12 }; // сортировка
int s = Array.IndexOf(n, 5);
int s1 = Array.IndexOf(n, -5);
Console.WriteLine("n(5) = {0}", s );
Console.WriteLine("n(-5) = {0}", s1);
Поиск элементов
Array.LastIndexOf(имя массива, образец)
Например
int[] n = { 54, 7, -41, 2, 4, 2, 89, 33, -5, 12 };
Console.WriteLine("Last(5)=" + Array.LastIndexOf(n, 5));
Console.WriteLine("Last(-5)=" + Array.LastIndexOf(n, -5));
Поиск элементов
Array.Sort() - сортировка массива
Array.Sort(имя_массива);
int[] n = { 54, 7, -41, 2, 4, 2, 89, 33, -5, 12 };
Console.Write(" Введите элементы массива");
for (int i = 0; i < n.Length; i++)
n[i] = int.Parse(Console.ReadLine());
Array.Sort(n);
for (int i = 0; i < n.Length; i++)
Console.Write(n[i] + " ");
Сортировка массива
Array.Reverse() – изменение порядка следования всех элементов массива на противоположный
Array.Reverse(имя_массива);
Сортировка массива
Console.Write(" Введите длину массива ");
int n = int.Parse(Console.ReadLine());
int[] a = new int[n];
Console.Write(" Введите элементы массива ");
for (int i = 0; i < a.Length; i++)
a[i] = int.Parse(Console.ReadLine());
Array.Sort(a);
Array.Reverse(a);
for (int i = 0; i < a.Length; i++)
Console.Write(a[i] + " ");
Сортировка массива
Пример массива, выводящего положительные элементы
int[] numbers = { -4, -3, -2, -1, 0, 1, 2, 3, 4 };
int sum= 0;
foreach(int number in numbers)
{
if(number > 0)
{
sum++;
}}
Console.WriteLine($"Число элементов больше нуля: {sum}");
Написать программу, которая выводит отрицательные элементы массива d с элементами {-9, -8,-7,-2, -1, 0, 1, 6, 8, 9 }
Пример массива, выводящего элементы массива в обратном порядке
int[] n = { -4, -3, -2, -1, 0, 1, 2, 3, 4 };
int d = n.Length; // длина массива
int k = d / 2; // середина массива
int t; // вспомогательный элемент для обмена значениями
for (int i = 0; i < k; i++){
t = n[i];
n[i] = n[(d - i )- 1];
n[(d - i )- 1] = t;}
foreach (int i in n){
Console.Write($"{i} \t"); }
Пример сортировки
int[] n = { 54, 7, -41, 2, 4, 2, 89, 33, -5, 12 };
int t;
for (int i = 0; i < n.Length - 1; i++)
{ for (int j = i + 1; j < n.Length; j++)
{ if (n[i] > n[j])
{ t = n[i];
n[i] = n[j];
n[j] = t; } }} // вывод
Console.WriteLine("Вывод отсортированного массива");
for (int i = 0; i < n.Length; i++)
{
Console.WriteLine(n[i]);
}