69
данием элементам массива начальных значений. Эти значения перечисляются в
списке инициализации после знака равенства, разделяются запятыми и заклю-
чаются в фигурные скобки, например: int A[10] = {1,2,3,4,5,6,7,8,9,10};. Элемен-
ты массива могут иметь любой тип. Так, например, оператор char S[10]; объяв-
ляет массив из символов. Массив символов – это фактически строка, и число
символов, помещаемых в строку
, должно быть на единицу меньше объявлен-
ного размера массива. Это обусловлено тем, что строка кончается нулевым сим-
волом и будет, к примеру, иметь вид char S[10] = {“abcdefghi\0”};. Нулевой
символ в конце можно не указывать, поэтому нормально будет воспринято та-
кое объявление: char S[10] = {“abcdefghi”};.
11.2. Многомерные массивы
Многомерным называется массив, элементами которого являются одномер-
ные массивы. Например, двумерный массив может быть объявлен таким обра-
зом: int A2[10][3];. Этот оператор описывает двумерный массив, который мож-
но представить себе как таблицу, состоящую из 10 строк и 3 столбцов. Доступ к
значениям элементов многомерного массива обеспечивается через индексы, ка-
ждый из которых заключается
в квадратные скобки. Например, A2[3][2] – зна-
чение элемента, лежащего на пересечении четвёртой строки и третьего столбца
(напоминаем, что индексы начинаются с 0). Если многомерный массив инициа-
лизируется при его объявлении, список значений по каждой размерности за-
ключается в фигурные скобки. Приведённый ниже оператор объявляет и ини-
циализирует двумерный массив A2 размерностью 3 на 5:
int A2[3][5] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};, однако допустим и
упрощенный способ инициализации:
int A2[3][5] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};.
11.3. Примеры использования массивов
Так как массив является структурным типом, то основные операции с ним
необходимо проводить с помощью оператора цикла. Покажем это на ряде при-
меров. В примере на рис. 11.1 с помощью оператора цикла осуществляется
присвоение начальных нулевых значений элементам массива n[5], содержащего
пять целых чисел. Печать массива осуществляется в табулированном формате.
Первый
оператор вывода печатает на экране заголовки столбцов, а второй вы-
водит элементы массива и их значения. Функция setw() указывает ширину поля,
в котором будет выведено следующее значение.
#include<iostream.h>
#include <conio.h>
#include <stdlib.h>
#include<iomanip.h>
main( )
Рис. 11.1