Примеры программ обработки одномерных массивов.
Массивы
Массив — это структурированный тип данных, представляющий собой поименованную совокупность однотипных элементов.
Массив — это набор элементов одного типа, занимающих непрерывную область памяти.
Массив имеет следующие свойства: имя, тип, размерность, размер.
Формат описания массива:
тип элементов имя [константное_выражение]
Константное выражение определяет размер массива, т. е. число элементов этого массива.
Например:
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};