«

»

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++ можно так:

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

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

 

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

 

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

 

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

 

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

 

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

 

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

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

Например:

 

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

 

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

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

Например:

 

1
2
3
4
5
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

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#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;
}

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вы можете использовать эти теги HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Проверка на человечность *