Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
Лабораторная работа. Массивы и их обработка
Цель: получить практические навыки работы с массивами и представления о способах их обработки.
Общие сведения
Массив — это упорядоченный набор элементов одинакового типа, имеющих общее имя. Все элементы массива пронумерованы. Порядковый номер элемента в массиве называется индексом. Массивы должны быть обязательно описаны перед использованием в программе. Различают одномерные (векторы), двумерные (матрицы) и многомерные массивы, однако на практике массивы размерностью свыше трех используются крайне редко. Общий вид объявления массива:
тип_элементов имя_массива [N1][N2]...[Nk];
Количество индексов [N1][N2]...[Nk] определяет размерность массива. При объявлении массива указывается общее число элементов массива. Индексация элементов массива в С++ по умолчанию начинается с нуля. Размер массива может задаваться константой или константным выражением. Нельзя задать массив переменного размера, для этой цели используется отдельный механизм - динамическое выделение памяти. В языке C++ возможна инициализация массива при его объявлении.
К элементам массива применимы две операции: присваивание и выборка. Для выборки элементов массива и их обработки чаще всего используются циклы.
Задание к лабораторной работе
Решить задачу, соответствующую варианту, выбранному по таблице 3.1. Построить блок-схему программы и организовать ввод данных, если это необходимо, с помощью генератора случайных чисел.
Таблица 3.1 – Варианты заданий
Вариант
| Задание
|
| Дана целочисленная прямоугольная матрица. Определить: количество строк, не содержащих ни одного нулевого элемента; максимальное из чисел, встречающихся в заданной матрице более одного раза.
|
| Дана целочисленная прямоугольная матрица, содержащая элементы, равные 1. Определить количество столбцов, не содержащих ни одного элемента равного 1; среднее геометрическое элементов строки, содержащей минимальный элемент побочной диагонали.
|
| Дана целочисленная прямоугольная матрица. Определить: количество столбцов, содержащих хотя бы один нулевой элемент; номер строки, в которой находится самая длинная серия одинаковых элементов.
|
| Дана целочисленная прямоугольная матрица. Определить: произведение элементов в тех строках, которые не содержат отрицательных элементов; максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
|
| Дана целочисленная прямоугольная матрица. Определить: сумму элементов в тех столбцах, которые не содержат положительных элементов; минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.
|
| Дана целочисленная прямоугольная матрица. Матрица А имеет седловую точку Аij,, если A ij является минимальным элементом в i–той строке и максимальным в j-столбце. Определить: сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
|
| Для заданной матрицы размером 10х10 найти такие k, что k-я строка совпадает с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
|
| Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.
|
| Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10х10.
|
| Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.
|
| Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент.
|
| Переставить элементы квадратной целой матрицы так, чтобы ее минимальный элемент находился в левом верхнем углу, следующий по величине - (1,1), следующий по величине – в позиции (2,2) и т.д., заполнив всю главную диагональ.
|
| Переставить элементы квадратной вещественной матрицы так, чтобы ее максимальный элемент находился в левом верхнем углу, следующий по величине - (1,1), следующий по величине – в позиции (2,2) и т.д., заполнив всю главную диагональ.
|
| Дана целочисленная квадратная матрица. Определить: среднее арифметическое элементов в тех строках, которые не содержат отрицательных элементов. Результат переписать в вектор.
|
| Дан двумерный массив размерностью 4х7, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца.
|
| Найти среднее геометрическое элементов, расположенных выше побочной диагонали вещественной матрицы 10х10. Переписать элементы, расположенные после минимального элемента в вектор.
|
| Дан двумерный массив размерностью 6х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен количеству отрицательных элементов, кратных 2 или 4, соответствующей строки.
|
| Элемент матрицы называется локальным максимумом, если он строго больше всех имеющихся у него соседей. Подсчитать количество локальных максимумов заданной матрицы размером 12х12.
|
| Дан двумерный массив размерностью 6х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца. Если такого нет, то он равен нулю.
|
| Характеристикой строки целочисленной матрицы А 10х8 назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.
|
| Дана целочисленная прямоугольная матрица. Матрица А имеет седловую точку Аij,, если A ij является минимальным элементом в i–той строке и максимальным в j-столбце. Определить: произведение элементов в тех строках, которые содержат хотя бы один положительный элемент.
|
| Дан двумерный массив размерностью 9х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен наименьшему по модулю элементу соответствующего столбца.
|
| Найти сумму элементов целочисленной матрицы 10х8 в тех столбцах, которые содержат хотя бы один отрицательный элемент. Переписать их в одномерный массив.
|
| Найти среднее геометрическое модулей элементов целочисленной матрицы, расположенных на побочной диагонали. Определить максимальный элемент в матрице и его местоположение.
|
| Дана целочисленная квадратная матрица. Определить минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы. Суммы переписать в одномерный массив.
|
| Найти номер первой из строк вещественной матрицы, не содержащих ни одного отрицательного элемента. Определить максимальную сумму в столбцах матрицы.
|
| Найти номер первого из столбцов целочисленной матрицы, не содержащих ни одного положительного элемента. Определить минимальное произведение в строках матрицы.
|
| Найти сумму модулей элементов, расположенных выше главной диагонали целочисленной матрицы 10х10. Переписать элементы, расположенные после максимального элемента в вектор.
|
| Найти произведение элементов в тех столбцах целочисленной матрицы, которые содержат хотя бы один положительный элемент. Переписать элементы, расположенные до минимального элемента в одномерный массив.
|
| Дана целочисленная квадратная матрица. Определить: среднее геометрическое элементов в тех строках, которые не содержат отрицательных элементов. Максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
|
3.3 Контрольные вопросы
3.3.1 Что представляет собой массив элементов?
3.3.2 Какой максимальной размерности может быть многомерный массив?
3.3.3 Как объявляется массив?
3.3.4 С какой целью используется механизм выделения динамической памяти?
3.3.5 Как инициализируются элементы массива?
3.3.6 Как можно сформировать случайным образом массив элементов?
3.3.7 Какие способами ввода элементов массива существуют в С++?
3.3.8 Приведите алгоритм нахождения максимального значения в каждой строке матрицы произвольного размера.
3.3.9 Каковы особенности обработки квадратной матрицы?
3.3.10 Как организовать обработку матрицы произвольной размерности по столбцам (по строкам)?
|