Массив - это упорядоченная совокупность переменных, объединенных общим типом и именем. Число элементов массива фиксируется при описании и в процессе выполнения программы не меняется. Каждый элемент массива определяется именем, совпадающим с именем массива, а также индексом. Индекс - это величина, характеризующая положение элемента в массиве.
В языке C++ нумерация элементов массива начинается с нуля, таким образом номер последнего элемента массива соответствует значению n-1, где n – количество элементов массива. Приведем несколько примеров описания массива в языке C++:
//средняя температура в январе
intt[31]; //t[0]..t[30]
//курс доллара в течении недели
doubled[7]; //d[0]..d[6]
//имена пяти друзей
string f[5]; //f[0]..f[4]
intmain(){
t[29]=-14;
d[5]=65.24;
f[3]="Ivan";
return0;
}
К каждому элементу массива можно обращаться отдельно так же как к обычной переменной установленного типа. Элемент массива с номером i имеет обозначение a[i]. Благодаря такой записи данные можно обрабатывать массово в цикле. Входные данные задачи, которые необходимо хранить в массиве, обычно задаются следующим образом: сначала идет число n - количество элементов массива, а за ним следуют отделенные пробелом значения n элементов массива. Реализация чтения n элементов массива и их вывод может выглядеть следующим образом:
//описание массива
inta[100], n;
//чтение массива
cin >> n;
for(inti=0; i<n; i++)
cin >> a[i];
//вывод массива
for(inti=0; i<n; i++)
cout << a[i] << ' ';
Приведем пример программы, которая заполняет массив случайными числами и определяет максимальный и минимальный элементы, а также индексы этих элементов:
Решение задач с массивами часто связано с чтением и выводом большого количества данных, что может вызывать проблемы с временем выполнения программы. Для ускорения работы операторов cin и cout можно использовать следующие команды:
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
При использовании данных команд пропадает синхронизация потоков ввода-вывода операторов cin и cout с командами scanf и printf. Поэтому в данном случае данные наборы команд не рекомендуется одновременно использовать.