Массивы в C++. Общие сведения

Для работы с множеством однотипных данных ( строками, датами, целочисленными значениями и т. п. ) удобно использовать массивы. Например, можно создать массив для хранения списка рабочих, работающих на одном заводе. Вместо создания переменных для каждого рабочего, например рабочий_1, рабочий_2 и т. д., достаточно создать один массив, где каждой фамилии из списка будет присвоен порядковый номер.

Массив в таблице ниже имеет 8 элементов, каждый из которых сохраняет число вещественного типа. Элементы в массиве пронумерованы. Такого рода массив, представляющий собой простой список данных одного и того же типа, называют одномерным массивом. Для доступа к данным, хранящимся в определенном элементе массива, необходимо указать имя массива и порядковый номер этого элемента, называемый индексом. Обратите внимания, что массив в таблице имеет максимальный индекс 7, хотя размер массива 8 ячеек, так как начинается он с нуля.

12.7 0.13 -1.5 0 21.9 -3.7 5.0 121.7
0-й элемент 1-й элемент 2-й элемент 3-й элемент 4-й элемент 5-й элемент 6-й элемент 7-й элемент

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

1 столбец 2 столбец 3 столбец 4 столбец
1 строка 3.5 7.8 1.3 0.6
2 строка -1.4 0.3 0 12.1
3 строка -5.7 -0.78 5.0 6.9
4 строка 45.1 124.0 -24.7 0.96

Описание массивов

Описать массив в C++ можно так:

Тип имя_массива [размерность];

Размерность — это количество элементов в массиве. Например:

int x[10]; // описание маасива из 10 целых чисел
float a[20]; // описание маасива из 20 вещественных чисел

Размерность массива и тип его элементов определяют объем памяти, который необходим для хранения массива, поэтому размерность — это целое положительное константное выражение.

const int n=15; // определенна целая положительная константа
double B[n]; // описан массив из 15 вещественных чисел

Как я уже говорил, элементы массива в C++ нумеруются с нуля. Первый элемент всегда имеет номер ноль, а номер последнего элемента на единицу меньше заданной при его описании размерности:

char C[5]; // описан массив из 5 символов, нумерация от 0 до 4

Доступ к каждому элементу массива осуществляется с помощью индекса — порядкового номера элемента. Для обращения к элементу массива указывают его имя, а затем в квадратных скобках индекс

имя_массива [индекс];

Например:

const int n=15;
double C[n],S;
S=C[0]+C[n-1]; //сумма первого и последнего элементов массива C

Массиву, как и любой другой переменной, можно присвоить начальное значение. Для этого значения элементов массива нужно перечислить в фигурных скобках через запятую:

тип имя_переменной [размерность] = {элемент_0, элемент_1, …};

Например:

float a[6] = {1.23, 2.4, 5.6, 6.1};
//формируется массив из шести вещественных чисел,
//значения элементам присваиваются по порядку,
//элементы, значения которых не указаны обнуляются:
//a[0]=1.23, a[1]=2.4, a[2]=5.6, a[3]=6.1, a[4]=0, a[5]=0

Ввод и вывод элементов массива осуществляется поэлементно. Например вот так:

#include "stdafx.h"
#include <iostream>
using namespace std;
int main ()
{
int X[10],N,i;
cout<<"\n N="; cin>>N; //ввод размера массива
for (i=0; i<N; i++)
{
cout<<"\n X["<<i<<"]="; //сообщение о вводе элемента
cin>>X[i]; //ввод элементов массива в цикле
cout<<"\t X["<<i<<"]="<<X[i]; //вывод массива
}
system("pause");
return 0;
}

В последующих уроках мы рассмотрим основные операции над массивами, такие как сортировка элементов в массиве, поиск максимального элемента, метод «пузырька» и т. п.. Что касается двумерных массивов, то о них будет подробно рассказано в уроках про матрицы.

Рейтинг
( 2 оценки, среднее 2 из 5 )
Загрузка ...