Примеры программ обработки одномерных массивов.

Массивы

Массив — это структурированный тип данных, представляющий собой поименованную совокупность однотипных элементов.

Массив — это набор элементов одного типа, занимающих непрерывную область памяти.

Массив имеет следующие свойства: имя, тип, размерность, размер.

Формат описания массива:

тип элементов имя [константное_выражение]

Константное выражение определяет размер массива, т. е. число элементов этого массива.

Например:

int A[10];

объявлен массив с именем А, содержащий 10 элементов целого типа.


Элементы массива обозначаются индексированными именами:

А[0], А[1], А[2], А[3], А[4], А[5], А[6], А[7], А[8], А[9]

Нижнее значение индекса равно 0. Размер массива, указанный в описании, всегда на единицу больше максимального значения индекса.

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

int р[]={2, 4, 6, 10, 1};

В этом случае создается массив из пяти элементов со следующими значениями:

р[0]=2, р[1]=4, р[2]=6, р[3]=10, р[4]=1

В результате объявления массива:

int М[6]={5, 3, 2};

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


Пример: Ввод с клавиатуры и вывод на экран одномерного массива.


Пример: Ввод вещественного массива и вычисление среднего значения.

 

В этой программе обратите внимание на определение размера массива через константу.


Пример: Сортировка массива «методом пузырька».

 

Значение размера массива вычисляется автоматически и заносится в переменную n.

Для этого используется операция sizeof() — определение размера в байтах. Результат sizeof (X) равен размеру в памяти всего массива Х — 20 байтам. Результат sizeof(X[0]) равен размеру одного элемента массива — 2 байтам. Отношение этих величин равно 10 — числу элементов массива.

В результате выполнения этой программы на экран выведется упорядоченная числовая последовательность

1 2 3 4 5 6 7 8 9 10


Многомерные массивы. Двумерный массив трактуется как одномерный массив, элементами которого является массив с указанным в описании типом элементов.

Например, оператор

float R[5][10];

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

R[0] [0], R[0][l], ..., R[4][9].

Объединять индексы в одну пару скобок нельзя, т. е. запись R[2,3] ошибочна.

Пример описания трехмерного массива:

double X[3] [7] [20];


Порядок расположения элементов многомерного массива в памяти такой, что прежде всего меняется последний индекс, затем предпоследний и т.д., и лишь один раз пробегает свои значения первый индекс.

При описании многомерных массивов их можно инициализировать.

Делать это удобно так:

int M[3][3]={11,12,13,21,22,23,31,32,33};