1. Изучить возможности обработки подпрограммами одномерных и двумерных массивов с произвольными типами индексов, но с фиксированным базовым типом.
2. Разработать алгоритм и составить программу для решения задачи соответствующего варианта. Предусмотреть в подпрограммах обработку массивов различных размеров. Размеры матриц задать константами.
3. Подобрать наборы тестовых данных.
Варианты заданий
1. Даны две пары квадратных матриц: A и B порядка m и C и D порядка n. Определить, есть ли среди них пара взаимно обратных матриц.
2. Даны две квадратные матрицы разных порядков. Для каждой из матриц найти минимальное из значений элементов побочной диагонали и соседних с ними справа и слева.
3. Даны три вещественные квадратные матрицы разных порядков. Вывести матрицы с наименьшей нормой. В качестве нормы матрицы взять максимум абсолютных величин ее элементов.
4. Даны две прямоугольные матрицы разных размеров, все элементы которых различны. Для каждой из матриц найти среднее геометрическое модулей элементов в заштрихованной области (рис.6).
Рис. 6
5. Даны две квадратные матрицы разных порядков, все элементы которых различны. Назовем псевдодиагональю множество элементов матрицы, лежащих на прямой, параллельной прямой, содержащей элементы ai , n - i +1, где n – порядок матрицы. Для каждой из матриц найти сумму максимальных элементов псевдодиагоналей данной матрицы.
6.
Даны две квадратные матрицы разных порядков, все элементы которых различны. Для каждой из матриц найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом.
7. Даны две квадратные матрицы разных порядков, все элементы которых различны. Назовем псевдодиагональю множество элементов этой матрицы, лежащих на прямой, параллельной прямой, содержащей элементы ai , i . Найти сумму максимальных элементов всех псевдодиагоналей данной матрицы.
8. Даны две квадратные матрицы разных порядков. Для каждой из матриц заменить предпоследнюю строку матрицы первым из столбцов, в котором находится минимальный элемент матрицы.
9. Даны две квадратные матрицы разных порядков. Для каждой из матриц заменить две ее первые строки последним из столбцов, в котором находится минимальный элемент матрицы.
10.
Даны две прямоугольные матрицы разных размеров. Для каждой из матриц найти минимальный элемент в заштрихованной области (рис.7), где max – максимальный элемент матрицы.
Рис. 7
11. Даны две квадратные матрицы разных порядков и натуральное число n. Для каждой из матриц получить матрицупо форму
В = A 1+ A 2 +...+ An.
12..Даны две прямоугольные матрицы разных размеров. Для каждой из матриц определить количество классов эквивалентных строк. Строки считать эквивалентными, если равны суммы их элементов.
13. Даны две квадратные матрицы разных порядков. Для каждой из матриц, если суммы элементов строк матрицы различны, то транспонировать матрицу.
14. Даны две квадратные матрицы разных порядков. Для каждой из матриц, если матрица симметрична, то заменить ее квадратом.
15. Даны две квадратные матрицы разных порядков. Заменить в каждой из матриц предпоследний столбец первой из строк, в которой находится максимальный элемент.
16. Даны три квадратные матрицы разных порядков. Определить число матриц, строки которых упорядочены по невозрастанию элементов.
17. Даны две прямоугольные матрицы разных размеров, все элементы которых различны. Найти максимальный элемент матрицы в заштрихованной области (рис.8), где min – минимальный элемент матрицы.
Рис. 8
18. Даны две прямоугольные матрицы разных размеров. Упорядочить строки каждой из них по неубыванию их наибольших элементов строк.
19. Даны две квадратные матрицы разных порядков. Для каждой из матриц определить, является ли она ортонормированной, то есть такой, в которой скалярное произведение каждой пары различных строк равно нулю, а скалярное произведение каждой строки на себя равно единице.
20. Даны две прямоугольные матрицы разных размеров. Для каждой из них определить количество классов эквивалентных столбцов. Столбцы считать эквивалентными, если равны множества их элементов.
21. Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и наибольшим в столбце. Для каждой из двух данных целочисленных матриц вывести индексы всех седловых точек.
22. Даны две прямоугольные матрицы разных размеров. Упорядочить строки каждой из них по убыванию первых элементов строк, если это возможно.
23. Даны две прямоугольные матрицы разных размеров. Упорядочить строки каждой из них по неубыванию сумм элементов строк.
24. Даны три квадратные матрицы разных порядков. Вывести матрицы, имеющие наибольшее число нулевых строк.
25. Даны две прямоугольные матрицы разных размеров, не имеющие одинаковых элементов. В каждой из матриц обменять строки, содержащие максимальный и минимальный элементы.
26. Даны две прямоугольные матрицы разных размеров. Упорядочить столбцы каждой из них по невозрастанию минимальных элементов столбцов.
27. Даны две прямоугольные матрицы разных размеров. В каждой из матриц число строк не меньше числа столбцов. Для каждой из них найти сумму элементов в заштрихованной области (рис.9).
Рис. 9
28.
Для прямоугольной матрицы А строится матрица B по следующему правилу. Элемент bij равен минимальному из элементов матрицы A в заштрихованной области (рис.10). Для каждой из двух данных прямоугольных матриц получить матрицу, по данному правилу.
Рис. 10
29. Даны две прямоугольные матрицы разных размеров. Для каждой из матриц определить k – количество "особых" элементов, считая элемент "особым", если в строке слева от него находятся меньшие элементы, а справа – бóльшие.
30. Даны две прямоугольные матрицы разных размеров. Для каждой из матриц определить k – количество "особых" элементов матрицы, считая элемент "особым", если он больше суммы остальных элементов своего столбца.
Контрольные вопросы
1. В каких случаях используются открытые массивы?
2. Как определить в подпрограмме количество элементов в открытом массиве?
3. Как обратиться в подпрограмме к первому и последнему элементу открытого массива?
4. Дана последовательность, состоящая из элементов матрицы размером m ´ n, выписанных по строкам. Определите индексы элемента матрицы, который является k -м членом последовательности.
ЛАБОРАТОРНАЯ РАБОТА № 10
Динамические переменные
Цель работы: получение навыков работы с указателями и динами-ческими переменными структурированных типов.