Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы программирования. Учебно-методический комплекс.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

Используя оператор адреса C++ (&),программы могут передать адрес переменной в функцию.

Когда функция получает адрес переменной, она должна объявить переменную параметра как указатель (предваряя имя переменной звездочкой).

Если функции требуется использовать значение, на которое ссылаются (указывают) по указателю, функция должна предварять имя переменной-указателя звездочкой, т. е. оператором разыменования C++.

Лекция 13 Объявление переменной массива. Использование индексной переменной.

Массив представляет собой структуру данных, которая позволяет одной переменной хранить несколько значений.

При объявлении массива необходимо указать тип значений, хранящихся в массиве, а также количество значений (называемых элементами массива).

Все элементы внутри массива должны быть одного и того же типа, например, int, float или char.

Для сохранения значения внутри массива следует указать номер элемента массива, в котором хотите сохранить свое значение.

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

При объявлении массива программы могут использовать оператор присваивания для инициализации элементов массива.

Программы могут передавать переменные-массивы в функции точно так же, как они передают любой другой параметр.

Объявление переменной массива Массив представляет собой переменную, способную хранить

одно или несколько значений. Подобно переменным, используемым программами до сих пор, массив должен иметь тип (например, int, char или float) и уникальное имя. В дополнение к этому следует указать количество значений, которые массив будет хранить. Все сохраняемые в массиве значения должны быть одного и того же типа. Другими словами, программа не может поместить значения типа float, char и long в один и тот же массив. Следующее объявление создает массив с именем test_scores, который может вмещать 100 целых значений для тестовых очков:

int test_scores[100]; // Размер массива

Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.

66

Значения, хранящиеся в массиве, называются элементами массива.

Обращение к элементам массива Массив позволяет программам хранить несколько значений в

одной и той же переменной. Для обращения к определенным значениям, хранящимся в массиве, используется значение индекса, которое указывает на требуемый элемент. Например, для обращения к первому элементу массива test_scores вы должны использовать значение индекса 0. Для обращения ко второму элементу используйте индекс 1. Подобно этому, для обращения к третьему элементу используйте индекс 2. Как показано на рис. 13.1, первый элемент массива всегда имеет индекс 0, а значение индекса последнего элемента на единицу меньше размера массива:

Рис. 13.1. Как C++ индексирует элементы массива.

Важно помнить, что C++ всегда использует 0 для индекса первого элемента массива, а индекс последнего элемента на единицу меньше размера массива. Следующая программа array. cpp создает массив с именем values, который вмещает пять целочисленных значений. Далее программа присваивает элементам значения 100, 200, 300, 400 и 500:

#include <iostream.h> void main(void)

{

int values[5]; // Объявление массива values[0] = 100;

values[1] = 200; values[2] = 300; values[3] = 400;

Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.

67

values [4] = 500;

cout << "Массив содержит следующие значения" << endl;

cout << values [0] << ' ' << values [1] << ' ' << values [2] << ' ' << values [3] << ' ' << values [4] << endl;}

Программа присваивает первое значение элементу 0 (values[0]). Она также присваивает последнее значение элементу 4 (размер Массива (5) минус 1).

Использование индексной переменной Если программы используют массив, обычной операцией

является использование индексной переменной для обращения к элементам массива. Например, предположим, что переменная / содержит значение 3, следующий оператор присваивает значение 400

элементу values[3J: values[i] = 400;

Следующая программа showarra.cpp использует индексную переменную i внутри цикла for для вывода элементов массива. Цикл for инициализирует i нулем, так что программа может обращаться к элементу values[O]. Цикл for завершается, когда i больше 4 (последний элемент массива):

#include <iostream.h> void main (void)

{

int values[5]; // Объявление массива int i; values[0] = 100;

values[1] = 200; values[2] = 300; values[3] = 400; values[4] = 500;

cout << "Массив содержит следующие значения" << endl; for (i = 0; i < 5; i++) cout << values [i] << ' ';

}

Каждый раз, когда цикл for увеличивает переменную i, программа может обратиться к следующему элементу массива. Изменяем цикл for следующим образом:

for (i = 4; i >= 0; i--) cout << values [i] << ' ';

В данном случае программа будет выводить элементы массива от большего к меньшему.

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

C++ позволяет программам инициализировать переменные при объявлении. То же верно и для массивов. При объявлении массива можно указать первоначальные значения, поместив их между левой и

Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.

68

правой фигурными скобками, следующими за знаком равенства. Например, следующий оператор инициализирует массив values:

int values[5] = { 100, 200, 300, 400, 500 };

Подобным образом следующее объявление инициализирует массив с плавающей точкой:

float salaries[3] = { 25000.00. 35000.00, 50000.00 };

Если не указано первоначальное значение для какого-либо элемента массива, большинство компиляторов C++ будут инициализировать такой элемент нулем. Например, следующее объявление инициализирует первые три из пяти элементов массива:

int values[5] = { 100, 200, 300 };

Программа не инициализирует элементы values[3] и values[4]. В зависимости от компилятора, эти элементы могут содержать значение 0. Если не указывается размер массива, который инициализируется при объявлении, C++ распределит достаточно памяти, чтобы вместить все определяемые элементы. Например, следующее объявление создает массив, способный хранить четыре целочисленных значения:

int numbers[] = { 1, 2, 3, 4 };

Передача массивов в функции Программы будут передавать массивы в функции точно так же,

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

void some_function(int array[], int number_of_elements);

Следующая программа arrayfun.cpp передает массивы в функцию show_array, которая использует цикл for для вывода значений массивов:

#include <iostream.h>

void show_array (int array [] , int number_of_elements)

{

int i;

for (i = 0; i < number_of_elements; i++) cout << array[i] << ' '; cout << endl;

}

void main(void)

Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.

69

{

int little_numbers[5] ={1,2,3,4,5};

int big_numbers[3] = { 1000, 2000, 3000 }; show_array(little_numbers, 5); show_array(big_numbers, 3);

}

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

show_array(little_numbers, 5);

Программа getarray.cpp использует функцию get_values, чтобы присвоить три значения массиву numbers:

#include <iostream.h>

void get_values(int array[], int number_of_elements)

{

int i;

for (i = 0; i < number_of_elements; i++)

{

cout “ "Введите значение " << i << ": "; cin ” array [i];

}

}

void main(void)

{

int numbers[3]; get_values(numbers, 3);

cout << "Значения массива" << endl; for (int i = 0; i < 3; i++)

cout << numbers [i] << endl;

}

Программа передает массив в функцию по имени. Функция в свою очередь присваивает массиву элементы. Пока программа не передаст параметры в функцию с помощью адреса, функция не может изменить эти параметры. Однако, как можно заметить в данном случае, функция get_values изменяет параметр-массив numbers.

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

Для объявления массива следует указать тип, имя массива, а также количество значений, хранящихся в массиве.

Значения внутри массива называются элементами массива.

Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]