Создание массива и заполнение его данными.
Синтаксис объявления массива.
Для начала, нам необходимо научиться создавать массив. А, для этого -
во-первых, определить общий синтаксис. Во-вторых, выяснить, каким правилам и
ограничениям этот синтаксис подчиняется.
тип_данных имя_массива[количество_элементов]; |
1. тип_данных - любой из существующих, известных вам типов
данных. Именно этим типом будет обладать каждый элемент массива.
2. имя_массива - любое имя, которое подчиняется "правилам
имен переменных" (эти правила мы рассматривали с Вами в первом уроке).
3. количество_элементов - число элементов в массиве. На
данном месте должно находиться - целочисленное константное
значение. Таким значением может быть - либо целочисленный литерал,
либо константная целочисленная переменная.
Примечание: Обратите внимания, что количество
элементов массива должно быть определенно на этапе создания программы. Другими
словами, задать размерность такого массива в зависимости от какого-то условия
или по решению пользователя невозможно. Это приведет к ошибке на этапе
компиляции.
Вариант первый.
Объявлен массив ar, состоящий из 5 элементов, каждый из которых имеет тип
данных int.
Вариант второй.
Объявлена константа size, значение которой равно 3, а затем, массив br,
состоящий из 3 элементов, каждый из которых имеет тип данных double.
const int size=3;
double br[size]; |
Примечание: Мы рекомендуем вам использовать
вторую форму записи, так как она является более корректной и удобной.
Обращение к элементам массива.
Рассмотрим, как обратиться к конкретному элементу массива.
запись значения
имя_массива[индекс_элемента]=значение;
получение значения
cout<<имя_массива[индекс_элемента];
|
Здесь, на место индекса_элемента может быть подставленно
ЛЮБОЕ целочисленное значение, в том числе выражение,
результатом которого является целое число.
const int size=5;
int ar[size]; // создание массива
ar[2]=25; // запись значения 25 в элемент с индексом 2
cout<<ar[2]<<"\n"; // вывод на экран значения элемента с индексом 2 - 25
|
Примечание: Еще раз напоминаем - нумерация
элементов в массиве начинается с нуля!!! Таким образом в массиве из 5 элементов
- последний элемент имеет индекс 4. Выходить за пределы массива нельзя, это
приведет к ошибке на этапе выполнения.
Варианты инициализации массива.
Заполнить массив данными можно двумя способами:
Первый способ – инициализация при создании.
тип_данных имя_массива[количество элементов]={значение1, значение2,
значение3, … значение n};
const int size=3;
int ar[size]={1,30,2};
|
При такой форме инициализации есть некоторые особенности:
1. Все значения списка инициализации имеют такой же тип данных, как и сам
массив, поэтому при создании количество элементов можно не указывать.
Операционная система сама определит размер массива исходя из числа элементов в
списке инициализации.
тип_данных имя_массива[]={значение1, значение2, значение3, … значение
n};
int ar[]={1,30,2}; //В данной строке массив автоматически получит размер 3.
|
2. Если число элементов в списке инициализации меньше чем число элементов
массива, то оставшиеся значения автоматически заполняются нулями:
такая запись эквивалентна записи:
3. Если значений в списке инициализации больше чем количество элементов
массива, то происходит ошибка на этапе компиляции:
int array[2]={1,2,3}; // ошибка на этапе компиляции |
Второй способ - инициализация массива при помощи цикла.
В этом случае заполнить массив значениями, можно с помощью пользователя.
#include<iostream>
using namespace std;
void main()
{
const int size=3;
int ar[size]; //создание массива из трех элементов
for (int i=0;i<size;i++) //цикл перебирающий элементы массива
{
cout<<"Enter element\n";
//на каждой итерации цикла пользователю подставляется элемент
//с индексом i для заполнения. секрет в том, что i - каждый раз
//новое значение
cin>>ar[i];
}
}
|
Показ содержимого массива на экран.
Вы, наверняка уже догадываетесь, что большинство операций с массивами удобнее
проводить с помощью циклов, по очереди перебирая элементы. Это действительно так
и показ на экран не вляется исключением. Приведем пример полной программы,
которая создает, заполняет и показывает на экран массив.
#include<iostream>
using namespace std;
void main()
{
const int size=3;
int ar[size]; //создание массива из трех элементов
for (int i=0;i<size;i++) //цикл перебирающий элементы массива
{
cout<<"Enter element\n";
//на каждой итерации цикла пользователю подставляется элемент
//с индексом i для заполнения. секрет в том, что i - каждый раз
//новое значение
cin>>ar[i];
}
cout<<"\n\n";
for (i=0;i<size;i++) //цикл перебирающий элементы массива
{
cout<<ar[i]<<"\n"; //показ элемента с индексом i на экран
}
}
|