- •3 Базовые структуры алгоритмов — это определенный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.
- •4) Линейный алгоритм
- •5) Разветвляющийся алгоритм
- •6) Циклический алгоритм
- •Смысловые имена переменных
- •10) Функция стандартного вывода printf()
- •Функция стандартного ввода scanf()
- •13) Вложенные циклы
- •Описание массивов
- •14) Массивы. Общие сведения
- •1. Объявление массива
- •2. Инициализация массивов
- •16) Вычисление суммы элементов массива
- •Пример 2.3.
- •17) Перестановка двух элементов массива
- •18) Поиск минимального и максимального элемента массива и его порядкового номера (индекса)
- •Объявление функции
- •20) Понятие указателя
- •Адрес переменной и значение переменной по адресу
- •Применение указателей
- •Сбор информации
- •Хранение информации
- •Процесс передачи
- •Обработка информации
- •24) Архитектура эвм
- •25) Структурная схема и устройства пк
- •Микропроцессор
- •Оперативная память
- •Контроллеры
- •Системная магистраль
- •Внешняя память. Классификация накопителей
- •Дополнительные устройства
- •Десятичная система счисления
- •Двоичная система счисления
- •Из двоичной в десятичную систему счисления
- •Из десятичной в двоичную систему счисления
- •Заключение
14) Массивы. Общие сведения
Для работы с множеством однотипных данных ( строками, датами, целочисленными значениями и т. п. ) удобно использовать массивы. Например, можно создать массив для хранения списка рабочих, работающих на одном заводе. Вместо создания переменных для каждого рабочего, например рабочий_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; } |
В последующих уроках мы рассмотрим основные операции над массивами, такие как сортировка элементов в массиве, поиск максимального элемента, метод «пузырька» и т. п.. Что касается двумерных массивов, то о них будет подробно рассказано в уроках про матрицы.
Массив – это совокупность данных, которая обладает следующими свойствами:
все элементы массива имеют один и тот же тип;
массив имеет одно имя для всех элементов;
доступ к конкретному элементу массива осуществляется по индексу (индексам).
