Вы находитесь на странице: 1из 31

С++

Массивы: создание, ввод,


вывод, доступ к элементам,
базовые операции
Зачем нужны массивы
Переменные могут хранить только одно значение
При присваивании переменной другого значения
предыдущее «затирается»
Если необходимо сохранить предыдущее, создаем
дополнительную переменную
А если переменных, чьи все значения нужно
сохранять, несколько?
Например, экзаменационные оценки группы из 30
студентов, которые необходимо, вводить, выводить,
анализировать, изменять при необходимости

2
Зачем нужны массивы
Без использования массивов, нам нужно 30
переменных

А если в группе 50 студентов?

3
Зачем нужны массивы
Такие однотипные значения есть смыл
хранить в одной переменной,
перенумеровав ее значения,
дать доступ к значению по его номеру
обрабатывать значения в цикле (номер
значения сохраняется в переменной цикла)

Массив (в программировании) -
упорядоченная совокупность однотипных
элементов

4
Характеристики массива
➢ Имя
- это набор букв латинского алфавита.
Например: A, L, D, F, RT, NQ, MAR
Так же, может быть сочетание букв и цифр,
например, А1, М23, ВР4
Те же правила, что и для имен переменных
➢ Размерность
➢ Размер
5
Представление в памяти
Графически расположение массива в памяти
компьютера можно представить в виде непрерывной
ленты адресов.

Представленный на рисунке массив содержит q


элементов с индексами от 0 до q-1.
Каждый элемент занимает в памяти компьютера k
байт, причем расположение элементов в памяти
последовательное.
6
Представление в памяти
Для определения размера элемента
массива может использоваться функция
int sizeof(тип);
Например,
sizeof(char)=1;
sizeof(int)=4;
sizeof(float)=4;
sizeof(double)=8;

7
Размерность массива
По размерности массивы различаются на одномерные,
двумерные и многомерные
• Одномерные массивы представляют собой линейку
или столбец символов
15 0 25 17 -6 -12

• Двумерные массивы представляют собой таблицу


7 9 6 -2 7
-8 19 12 14 23
16 -15 19 -9 20

• Многомерные (трехмерные) массивы представляют


собой набор таблиц
8
Доступ к элементам массива
Каждый элемент массива доступен по:
Имени массива;
Индексу (порядковый номер элемента в массиве)

Количество индексов – размер массива (сколько


в массиве элементов)

9
Одномерный массив
Объявление массива:
type arrayName [ arraySize ];

arraySize константа целого типа >0 –


размер массива
type любой тип данных допустимый в C++
- тип данных элементов массива
Пример
int X[5];
индекс элементов массива:
от 0 до количество_элементов - 1
X[0] – первый элемент
X[1] – второй элемент
X[2] …
X[3]
X[4] – последний элемент
// выделяем 30 целочисленных переменных,
используя фиксированный массив
int testResult[30];
Пример Для массива длины N
элементы массива
X[0] = 38; пронумерованы от 0
X[1] = -120; до N-1!
int X[5]; X[2] = 350; Это называется
X[3] =255; диапазоном
X[4] = -2; массива.
значение элемента массива размер - int
имя массива

индекс элемента массива


Пример определения и использования
массивов

Выведите значения первого и последнего


элемента массива
Ввод элементов массива
Блок-схема Код программы
int X[5];
for (int i = 0; i < 5; i++)
cin >> X[i];

Индексы массивов могут быть константами (как в


предыдущем примере)
или можно использовать переменную в качестве
индекса
Вывод элементов

Блок-схема Код программы


int X[5];

for (int i = 0; i < 5; i++)
cout << X[i] << endl;
Инициализация элементов массива
int X[5] = {38, -120, 350, 255, 2};
или
int X[] = {38, -120, 350, 255, 2};
При инициализации элементов массива
параметр отвечающий за количество
элементов - можно не указывать

Компилятор определит размерность массива


исходя из количества элементов инициализации

При объявлении массива без инициализации


параметр отвечающий за количество
элементов - обязателен
Test – Объявление массива

Результат?
Test – Объявление массива

Результат?
Test – Объявление массива

Результат?
Test – Объявление массива
Однако, если в списке инициализаторов меньше,
чем может содержать массив, то остальные
элементы будут инициализированы значением 0.
Обработка одномерных массивов в С++
Обработка массива – выполнение операций над его
элементами
Базовые операции (алгоритмы):
• Вычисление обобщающих характеристик (сумм,
количества элементов);
• Поиск максимального и минимального элементов;
• Поиск заданных элементов;
• Перестановка элементов;
• Сортировка элементов.

Задание: разработать программу для ввода


одномерного массива из 8 действительных чисел
и вычисления
суммы его элементов.
Задание:
Написать программу, которая записывает
введенные с клавиатуры данные в одномерный
массив целого типа, состоящий из семи
элементов.
•Перед вводом каждого элемента должна
выводиться подсказка с номером элемента.
•После ввода последнего элемента программа
должна вывести введенный массив и вычислить
среднее арифметическое его элементов
Задание:
Написать программу, которая вводит с
клавиатуры данные в одномерный массив
дробного типа, состоящий из пяти элементов,
после чего выводит количество ненулевых
элементов.
Перед вводом каждого элемента должна
выводиться подсказка с номером элемента
Задание 5
Пользователь вводит данные о своих расходах
за неделю (каждый день)
Написать программу, которая вычисляет:
- среднюю (за неделю) потраченную сумму;
- общую сумму, потраченную пользователем за
неделю;
- количество дней и их названия (например,
«вторник»), когда сумма расхода (в день)
превысила 500 грн.
Задание 1-hw
Создать массив из 5
целочисленных значений.

Вычислить количество
четных элементов
Задание 2-hw

Создать массив из 5
целочисленных значений.

Вычислить среднее значение


положительных элементов

Вам также может понравиться