💀
Второй курс РПО
C++
C++
  • Свойства и типы
  • Блок-схемы
  • Visual Studio
  • Первый проект
  • Вывод данных
  • Типы данных
  • Переменные и Константы
  • Ввод данных
  • Литералы
  • Задание [ ! ]
  • Первая практическая
  • Операторы в языке программирования
  • Арифметические операции в C++
  • Применение арифметических операций
  • Практическая работа №2
  • Практическая работа №3
  • Логические операции
    • Справочник по командам
  • Практическая работа №4
  • Практическая работа №5
  • Массивы
    • Спец. задание
  • ⚙️Справочник по C++
  • Домашнее задание №1
  • Функции
    • Более краткая версия
  • Практическая работа №6
  • Указатели
  • Задание на экране 12.12
  • Введение в строки
  • Перегрузка функций в C++
  • Функции класса
  • Полезные штуки
  • Работа с классами в C++
  • Дружественные классы в C++
Powered by GitBook
On this page
  • Основные понятия
  • Создание и инициализация массивов
  • Доступ к элементам массива
  • Заполнение массива через цикл
  • Многомерные массивы
  • Полезные советы

Массивы

28.11.2024

Массивы — это фундаментальная структура данных в C++, которая позволяет хранить несколько значений одного типа под одним именем.


Основные понятия

Что такое массив?

Массив — это последовательность элементов одного типа, которые хранятся в памяти подряд. Каждый элемент массива имеет свой индекс (номер), начинающийся с 0.

Синтаксис создания массива:

тип_данных имя_массива[размер];

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

int numbers[5]; // Объявляем массив из 5 элементов типа int
Элемент
Индекс
Значение

numbers[0]

0

Неопределённое

numbers[1]

1

Неопределённое

numbers[2]

2

Неопределённое

numbers[3]

3

Неопределённое

numbers[4]

4

Неопределённое

В C++ массив не инициализируется автоматически, значения могут быть случайными.


Создание и инициализация массивов

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

int numbers[5] = {10, 20, 30, 40, 50}; // Устанавливаем значения при создании
Индекс
Значение

0

10

1

20

2

30

3

40

4

50

Частичная инициализация

int numbers[5] = {1, 2}; // Остальные элементы будут равны 0
Индекс
Значение

0

1

1

2

2

0

3

0

4

0

Инициализация без указания размера

int numbers[] = {10, 20, 30}; // Размер определяется автоматически

Доступ к элементам массива

Доступ к элементам массива осуществляется с помощью индексов:

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

Пример:

#include <iostream>
using namespace std;

int main() {
    int numbers[3] = {5, 10, 15}; // Объявляем массив

    cout << "Первый элемент: " << numbers[0] << endl; // Доступ к первому элементу
    cout << "Второй элемент: " << numbers[1] << endl; // Доступ ко второму элементу
    cout << "Третий элемент: " << numbers[2] << endl; // Доступ к третьему элементу

    return 0;
}

Результат вывода:

Первый элемент: 5  
Второй элемент: 10  
Третий элемент: 15

Если обратиться к индексу за пределами массива, поведение программы неопределённо.


Заполнение массива через цикл

Часто массивы заполняются данными при помощи циклов.

Пример:

#include <iostream>
using namespace std;

int main() {
    int numbers[5]; // Объявляем массив из 5 элементов

    // Заполняем массив
    for (int i = 0; i < 5; i++) {
        numbers[i] = i * 10; // Присваиваем каждому элементу значение
    }

    // Вывод массива
    for (int i = 0; i < 5; i++) {
        cout << "numbers[" << i << "] = " << numbers[i] << endl;
    }

    return 0;
}

Результат вывода:

numbers[0] = 0  
numbers[1] = 10  
numbers[2] = 20  
numbers[3] = 30  
numbers[4] = 40

Многомерные массивы

Двумерный массив

Двумерный массив можно представить как таблицу, где каждый элемент имеет два индекса: строка и столбец.

Синтаксис:

тип_данных имя_массива[строки][столбцы];

Пример:

int matrix[2][3] = {
    {1, 2, 3}, // Первая строка
    {4, 5, 6}  // Вторая строка
};

Табличное представление массива:

[123456]\begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{bmatrix}[14​25​36​]

Доступ к элементам осуществляется так: matrix[i][j]\text{matrix[i][j]}matrix[i][j] где iii — номер строки, jjj — номер столбца.

Пример кода:

#include <iostream>
using namespace std;

int main() {
    int matrix[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    };

    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            cout << "matrix[" << i << "][" << j << "] = " << matrix[i][j] << endl;
        }
    }

    return 0;
}

Результат вывода:

matrix[0][0] = 1
matrix[0][1] = 2
matrix[0][2] = 3
matrix[1][0] = 4
matrix[1][1] = 5
matrix[1][2] = 6

Полезные советы

  1. Используйте константы для определения размера массива:

const int SIZE = 10;
int array[SIZE];
  1. Старайтесь использовать векторы для динамических массивов:

#include <vector>
using namespace std;

vector<int> numbers = {1, 2, 3}; // Аналог массива с гибким размером
PreviousПрактическая работа №5NextСпец. задание

Last updated 6 months ago