Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Тема 1.4 Массивы.






Практика. День четвертый.

Массивы. Адреса. Указатели. Ссылки. Применение указателей при работе с массивами, с многомерными массивами. Динамические массивы. Составление про грамм с использованием одномерных и многомерных массивов и указателей.

 

Массивы одномерные
Хранение группы связанных элементов данных является основным требованием большинства программных приложений. Для этого существуют два основных способа: массивы и коллекции. Индексный массив — именованный набор однотипных переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу. Индексный массив Коллекция в программировании — программный объект, содержащий в себе, тем или иным образом, набор значений одного или различных типов, и позволяющий обращаться к этим значениям. Массивы являются коллекциями объектов одного типа. Поскольку длина массивов практически не ограничена, они могут использоваться для хранения тысяч или даже миллионов объектов, но размер массива должен быть указан при его создании. Каждый элемент массива доступен по числовому индексу, указывающему позицию или ячейку, в которой объект хранится в массиве. Массивы могут хранить как ссылочные типы, так и типы значений. Массив является индексированной коллекцией объектов. Одномерный массив объектов объявляется следующим образом: тип_элемента[] имя_массива; int[] myArray1; Часто элементы в массиве инициализируются в это же время, как показано ниже: int[] massiv1 = new int[12]; Здесь между разделителями [ и ] находится константное выражение, значение которого определяет размерность массива. Значение по умолчанию числовых элементов массива задано равным нулю, а элементы ссылок имеют значение null, но значения можно инициализировать при создании массива следующим образом: int[] myArray2 = new int[] {7, 13, 4, 2}; int[] myArray3 = {5, 9, 3, 17, 9}; Можно создавать массивы из строк: string[] days = {" Sun", " Mon", " Tue", " Wed", " Thr", " Fri", " Sat" }; Индексация массивов начинается с нуля, поэтому номер первого элемента массива равен 0. Обращение к элементу массива осуществляется через квадратные скобки [ и ]. myArray2[2]=17; Пример: Написать программу, осуществляющую ввод целых чисел в массив. Из полученного массива распечатать элементы превышающие среднее арифметическое всего массива. //описываем необходимые переменныеint i, N; string s; double av; //вводим число элементовConsole.Write(" Введите число элементов массива N="); s = Console.ReadLine(); N = Convert.ToInt32(s); //создаём массив необходимой длиныint[] massiv1 = new int[N]; av = 0; //запускаем цикл по всем элементам массиваfor (i = 0; i < N; i++) { //вводим i-ый элемент Console.Write(" Введите {0}-й элемент массива ", i); s = Console.ReadLine(); massiv1[i] = Convert.ToInt32(s); //суммируем все элементы массива av += massiv1[i]; }//находим среднее арифметическоеav /=N; //запускаем цикл по всем элементам массиваfor (i = 0; i < N; i++) //печатаем только элементы больше среднего if (massiv1[i] > av) Console.Write(" {0} ", massiv1[i]); Console.ReadKey(); Массивы можно целиком переприсваивать: int[] massiv1 = new int[50];...//обрабока элементов массива //обьявляем массив massiv2 без инициализацииint[] massiv2; massiv2 = massiv1; //переприсваиваем Чтобы узнать число элементов в массиве используют свойство Length: N = massiv1.Length; Оператор foreach Оператор foreach повторяет группу внедренных операторов ля каждого элемента в коллекции массива или объекта. Оператор foreach используется для итерации коллекции с целью получения необходимой информации, однако его не следует использовать для изменения содержимого коллекции во избежание непредвиденных побочных эффектов. Внедренные операторы продолжают выполняться для каждого элемента массива или коллекции. После завершения итерации всех элементов коллекции управление переходит к следующему оператору после блока foreach. В любой точке блока foreach можно разорвать цикл с помощью ключевого слова break или перейти к следующей итерации в цикле с помощью ключевого слова continue. Цикл foreach также может быть разорван при помощи операторов goto, return или throw. Пример: Распечатать содержимое массива в одну колонку int[] myarray5 = new int[] { 0, 1, 2, 3, 5, 8, 13 }; // В операторе foreach требуется указать и тип, и идентификаторforeach (int i in myarray5) Console.WriteLine(i); Пример: Во введённом массиве определить минимальный элемент int i, N; string s; Console.Write(" Введите число элементов массива N="); s = Console.ReadLine(); N = Convert.ToInt32(s); int[] massiv1 = new int[N]; for (i = 0; i < N; i++) { Console.Write(" Введите {0}-й элемент массива ", i); s = Console.ReadLine(); massiv1[i] = Convert.ToInt32(s); } /* Временно считаем, что самый первыйэлемент и есть минимальный */int min = massiv1[0]; /* запускаем цикл по всем элементам массивапри этом очередной элемент массивабудет помещаться во временную переменную x*/foreach (int x in massiv1) /* сравниваем текущий минимум с очередным элементом и если нужно обновляем текущий минимум */ if (x < min) min = x; Console.WriteLine(" Минимальный элемент массива равен {0}", min); Console.ReadKey();

Лабораторная работа№4 (5)






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.