Студопедия

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

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

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






Массивы. Массив – это конечная упорядоченная именованная последовательность элементов одного и того же типа






Массив – это конечная упорядоченная именованная последовательность элементов одного и того же типа. При объявлении массива после его имени в квадратных скобках задается его размер (число элементов). В общем случае измерений у массива может быть несколько. В соответствии с их количеством различают одномерные, двумерные, трехмерные и другие массивы.

Одномерные массивы

Математический “аналог” одномерного массива – вектор. Примером одномерного массива может служить набор из двенадцати це­лых чисел, соответствующих числу дней в каждом календарном месяце. Объявление этого массива в программе может быть, например, таким:

int days[12];

В данной строке объявлен массив с именем days, состоящий из 12 элементов типа int.

Для того чтобы обратиться к определенному эле­менту массива, используется операция индексирования []. В квадратных скобках указывается целочисленное выражение, определяющее порядковый номер (индекс) элемента массива. Операнды операции индексирования – массив и значение индекса, результат – значение соответствующего элемента массива. Операция индексирования – одна из операций, имеющих наивысший приоритет. Нумерация элементов массива начинается с 0.

Присвоим, например, всем элементам массива days начальные значения (инициализируем массив days), помня о том, что начальный элемент массива days имеет индекс 0, а последний, соответственно, 11:

days [0] = 31;

days [1] = 28;

...

days [11] = 31;

Размер массива должен быть известен в мо­мент компиляции, поэтому при объявлении массива в качестве его размера можно указывать только целую константу. При обращении же к элементу массива в качестве зна­чения индекса может выступать любая переменная или выражение, представляемое ими значение вычисляется во время выполнения программы и преобразуется к це­лому значению.

Вывести на экран все элементы массива days можно, например, с помощью оператора for:

for (int i=0; i< 12; i++)

cout < < days[i];

Элементы массива располагаются в памяти последовательно без промежутков. Размер памяти, распределяемой под массив, равен размеру памяти для размещения всех его элементов.

Возможны различные способы инициализации (присваивания начальных значений элементам) массивов. Первый способ – инициализация массива с помощью операций присваивания. Массив может инициализироваться также посредством ввода данных с внешнего носителя или клавиатуры:

int a[10];

for (int i = 0; i < 10; i++)

cin > > a[i];

Когда начальные значения элементов массива известны, при объявлении массива можно использовать список начальных значений, заключаемый в фигурные скобки:

int a[10] = { 71, 28, 40, -4, 231, 1, -30, 0, 30, 31};

Значений в списке может быть меньше, чем элементов в массиве, в этом случае оставшиеся элементы массива получают нулевые начальные значения.

Автоматическое генерирование случайных значений осуществляется стандартной функцией rand(), описанной в файле заголовков stdlib.h. Пример инициализации массива с помощью датчика случайных чисел:

#include < stdlib.h>

...

for (int i = 0; i < 10; i++)

a[i]=rand();

Алгоритм генерации случайных чисел “отталкивается” от значения выбранной начальной точки. При одной и той же начальной точке одним и тем же будет и набор генерируемых случайных значений. Стандартная начальная точка задается значением 1. При необходимости " точку отсчета" можно изменить с помощью стандартной функции srand(), например:

srand(2);






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