- •1. Краткие теоретические сведения
- •1.1. Хранение значений в массивах
- •1.2. Объявление переменной массива
- •1.3. Обращение к элементам массива
- •1.4. Использование индексной переменной
- •1.5. Инициализация массива при объявлении
- •1.6. Передача массивов в функции
- •1.8. Алгоритмы обработки двумерных массивов
- •1.8.1. Ввод и вывод матрицы
- •1.8.2. Заполнение матрицы случайными числами
- •1.8.3. Определение количество элементов, больших заданного а и расположенных в строках с нечетными номерами
- •1.8.4. Поиск в матрице строки с максимальной суммой
- •1.8.5. Определение количества строк матрицы, в которых суммы всех элементов отрицательные
- •1.8.6. Определение, есть ли в матрице столбец, содержащий хотя бы один нулевой элемент
- •1.8.7. Обработка элементов квадратных матриц относительно главной и побочной диагоналей
- •2.4.1.2. Пример для варианта 30
- •2.4.1.3. Программа
- •2.4.1.4. Тестирование
- •2.4.2. Задание 2. Выполнение вычислений в строках и столбцах матрицы
- •2.4.2.1. Условие задания
- •2.4.2.2. Пример для варианта 30
- •2.4.2.3. Программа
- •2.4.2.4. Тестирование
- •2.4.3. Задание 3. Дополнительные задачи
- •2.4.3.1. Условие задания
- •2.4.3.2. Пример для варианта 30
- •2.4.3.3. Программа
- •2.4.3.4. Тестирование
- •2.4.4. Задание 4. Перестановки строк или столбцов матрицы
- •2.4.4.1. Условие задания
- •2.4.5.2. Пример для варианта 30
- •2.4.5.3. Программа
- •2.4.5.4. Тестирование
- •2.4.6. Задание 6. Вычисление суммы элементов матрицы
- •2.4.6.1. Условие задания
- •2.4.6.2. Пример для варианта 30
- •2.4.6.3. Программа
- •2.4.6.4. Тестирование
- •2.4.7. Задание 7. Вычисление элементов одномерного массива на основе матрицы
- •2.4.7.1. Условие задания
- •2.4.7.2. Пример для варианта 30
- •2.4.2.3. Программа
- •2.4.2.4. Тестирование
- •2.4.8. Задание 8. Комбинированные задачи на двумерные массивы
- •2.4.8.1. Условие задания
- •2.4.8.2. Пример для варианта 30
- •2.4.2.3. Программа
- •2.4.2.4. Тестирование
- •2.4.9. Задание 9. Работа с матрицами
- •2.4.9.1. Условие задания
- •2.4.9.2. Пример решения задачи (вариант 30)
- •2.4.9.3. Разработка алгоритма решения
- •2.4.9.4. Определение переменных программы
- •2.4.9.5. Разработка текста программы
- •2.4.9.6. Отладка программы
- •2.4.9.7. Результаты работы программы
- •2.4.9.8. Формирование случайных чисел
- •3. Выводы
- •4. Требование к отчету
- •4. Краткие теоретические сведения.
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1.1. Хранение значений в массивах 2
1.3. Обращение к элементам массива
Как вы уже знаете, массив позволяет вашим программам хранить несколько значений в одной и той же переменной. Для обращения к определенным значениям, хранящимся в массиве, используйте значение индекса, которое указывает на требуемый элемент. Например, для обращения к первому элементу массива test_scores вы должны использовать значение индекса 0. Для обращения ко второму элементу используйте индекс 1. Подобно этому, для обращения к третьему элементу используйте индекс 2. Как показано на рис. 11.1, первый элемент массива всегда имеет индекс 0, а значение индекса последнего элемента на единицу меньше размера массива:
Рис. 11.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;
values [4] = 500;
cout << "Массив содержит следующие значения" << endl;
cout << values [0] << ' ' << values [1] << ' ' << values [2] << ' ' << values [3] << ' '
<< values [4] << endl;
}
Как видите, программа присваивает первое значение элементу 0 (values[0]). Она также присваивает последнее значение элементу 4 (размер Массива (5) минус 1).
Все массивы C++ начинаются с элемента с индексом 0. Например, следующий оператор присваивает значение 100 первому элементу массива с именем scores:
scores[0] = 100;
Когда ваша программа объявляет массив, она указывает количество элементов, которые массив может хранить. Например, следующий оператор объявляет массив, способный хранить 100 значений типа int.
int scores[100];
В данном случае массив представляет собой элементы от scores[0] до scores[99].
1.4. Использование индексной переменной
Если ваши программы используют массив, обычной операцией является использование индексной переменной для обращения к элементам массива. Например, предположим, что переменная i содержит значение 3, следующий оператор присваивает значение 400 элементу values[3]:
values[i] = 400;
Следующая программа SHOWARRA.CPP использует индексную переменную i внутри цикла for для вывода элементов массива. Цикл for инициализирует i нулем, так что программа может обращаться к элементу values[0]. Цикл 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] << ' ';
В данном случае программа будет выводить элементы массива от большего к меньшему.