Обращение к элементу массива
Большая часть пользы от массивов определяется тем фактом, что к его элементам можно обращаться индивидуально.
Способ, который позволяет это делать, заключается в использовании индекса для нумерации элементов.
ЗАПОМНИТЕ!
НУМЕРАЦИЯ МАССИВОВ В СИ НАЧИНАЕТСЯ С НУЛЯ.
(Это является обязательным — вы должны начинать с нуля. Это особенно важно запомнить)
Примеры обращения к массиву A:
x = (A[3] + 5)*A[1]; // прочитать значения A[3] и A[1]
A[0] = x + 6; // записать новое значение в A[0]
Разберем программу работы с элементами массива.
#include <iostream>
using namespace std;
main()
{
int i=1, A[5];
A[0] = 23; //в каждый из 5 элементов массива (индексы от 0 до 4)
A[1] = 12; //записываем определенное значение
A[2] = 7;
A[3] = 43;
A[4] = 51;
A[2] = A[i] + 2*A[i-1] + A[2*i]; //изменим значение элемента с индексом 2, на результат выражения
//т.к i=1, то подставляя значение переменной i в выражение получим
//следующее выражение A[2] = A[i] + 2*A[0] + A[2];
cout << A[2]+A[4];
}
В результате выполнения данной программы на экране появится значение элемента массива с индексом 2 равное
116 Как видно из примера, мы можем обращаться к любому элементу массива. А также вычислять необходимый номер элемента по различным формулам (например, как в программе A[i-1] или A[2*i], в данных случаях индексы элементов будут вычислены и зависят от значения i.)
Разберем пример программы
#include<iostream>
using namespace std;
main()
{
const int N = 5;
int A[N];
x = 1;
cout << A[x-3]; //обращение к элементу A[-2]
A[x+4]=A[x]+A[2*(x+1)]; //после подстановки х в выражения и вычислений получаем следующую строку: A[5] = A[1]+A[4];
...
}
Т.к. массив объявлен из 5 элементов, значит элементы будут иметь нумерацию
с 0 до 4. Видим что, программа обращается к несуществующим элементам:
A[-2] и
A[5]
Получается, что программа вышла за границы массива
Выход за границы массива - это обращение к элементу с индексом, который не существует в массиве.
В таких случая программы обычно завершается аварийно с ошибкой
run-time error
Давайте попробуем самостоятельно поработать с элементами массива.
Выполните задание