Задача

4/12

Обращение к элементу массива

Теория Нажмите, чтобы прочитать/скрыть

Обращение к элементу массива

Большая часть пользы от массивов определяется тем фактом, что к его элементам можно обращаться индивидуально.
Способ, который позволяет это делать, заключается в использовании индекса для нумерации элементов.

ЗАПОМНИТЕ!
НУМЕРАЦИЯ МАССИВОВ В СИ НАЧИНАЕТСЯ С НУЛЯ.

(Это является обязательным — вы должны начинать с нуля. Это особенно важно запомнить)

Примеры обращения к массиву 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

Давайте попробуем самостоятельно поработать с элементами массива. Выполните задание
 

Задача

В строках с 6 по 9, присвойте элементам массива с индексами от 1 до 4 значения равные удвоенному значению предыдущего элемента массива. 
В данной задаче нельзя присваивать конкретные числа, необходимо обращаться именно к предыдущему элементу массива по имени и индексу
То есть написать A[1]=46 будет считать неверным