Лабораторная работа №5

Использование подпрограмм при работе
с двумерными массивами

Цель работы: получение навыков работы с двумерными массивами и закрепление навыков использования подпрограмм.

Задания для подготовки к работе

1. Изучите способы описания и использования многомерных массивов.

2. Разбейте задачу соответствующего варианта на подзадачи, таким образом, чтобы решение каждой подзадачи описывалось подпрограммой, а основная программа состояла бы в основном из вызовов подпрограмм.

3. Опишите математическое решение задачи с выводом необходимых формул, если необходимо.

4. Опишите блок-схему алгоритма решения задачи в укрупненных блоках.

5. Для каждой подзадачи опишите используемые структуры данных, спецификацию и блок-схему алгоритма

6. Опишите блок-схему алгоритма решения задачи с использованием блоков «предопределенный процесс».

7. Закодируйте алгоритм.

8. Подберите наборы тестовых данных с обоснованием их выбора.

Задания к работе

1. Наберите программу, отладьте ее и протестируйте.

2. Выполните анализ ошибок, выявленных при отладке программы


Содержание отчет а

1. Формулировка задачи.

2. Ответы на пункты 3 – 8 заданий для подготовки к работе.

3. Описание ошибок, выявленных при отладке программы с указанием вида ошибки, и почему она была сделана.

Варианты заданий

1. Дана квадратная матрица A и натуральное число n. Подучить матрицу В = A 1+ A 2 +…+ An.

2. Определить, является ли данная целочисленная квадратная матрица ортонормированной, т.е. такой, в которой скалярное произведение каждой пары различных строк равно 0, а скалярное произведение каждой строки на себя равно 1.

3. Если данная квадратная матрица A симметрична, то заменить A ее квадратом.

4. Дана квадратная матрица. Заменить предпоследний столбец первой из строк, в которой находится максимальный элемент.

5. Дано n точек в пространстве. Упорядочить точки по неубыванию их расстояний до начала координат.

6. Определить количество классов эквивалентных строк данной прямоугольной матрицы. Строки считать эквивалентными, если равны суммы их элементов.

7. Найти максимальный элемент прямоугольной матрицы в заштрихованной области (рис 3).

 
 

Рис.3

8. Дана матрица. Определить k – количество «особых» элементов данной матрицы, считая элемент «особым», если в строке слева от него находятся меньшие элементы, а справа – большие.

9. Дан массив квадратных матриц. Определить число матриц, строки которых упорядочены по невозрастанию элементов.

10. Упорядочить строки данной вещественной матрицы по неубыванию наибольших элементов строк.

11. Дана квадратная матрица. Упорядочить ее строки по неубыванию сумм элементов строк.

12. Дана квадратная матрица. Определить k – количество «особых» элементов матрицы, считая элемент «особым», если он больше суммы остальных элементов своего столбца.

13. Дана прямоугольная матрица, все элементы которой различны. Найти максимальный элемент матрицы в заштрихованной области (рис.4), где min – минимальный элемент матрицы.

 
 

Рис. 4

14. Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и наибольшим в своем столбце. Для заданной целочисленной матрицы вывести индексы всех ее седловых точек.

15. Дан массив целочисленных матриц. Вывести матрицы, имеющие наибольшее число нулевых строк.

16. Даны две квадратные матрицы A и B. Определить, являются ли они взаимно обратными (A= B –1).

17. Дана квадратная матрица, все элементы которой различны. Назовем псевдодиагональю множество элементов этой матрицы, лежащих на прямой, параллельной прямой, содержащей элементы
ai, n-i+ 1, где n – порядок матрицы. Найти сумму максимальных элементов псевдодиагоналей данной матрицы.

18. Дана квадратная матрица, все элементы которой различны. Назовем псевдодиагональю множество элементов этой матрицы, лежащих на прямой, параллельной прямой, содержащей элементы ai,i. Найти сумму максимальных элементов всех псевдодиагоналей данной матрицы.

19. Дана квадратная матрица. Если среди сумм элементов строк матрицы нет одинаковых, то транспонировать матрицу.

20. Дана целочисленная матрица, все элементы которой различны. Найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом.

21. Дан массив вещественных квадратных матриц. Вывести матрицы с наименьшей нормой. В качестве нормы матрицы взять максимум абсолютных величин ее элементов

22. Дана матрица. Упорядочить ее строки по убыванию первых элементов строк, если это возможно.

23. Дана квадратная матрица. Найти минимальное из значений элементов побочной диагонали матрицы и соседних с ними справа и слева.

24. Дана прямоугольная матрица, все элементы которой различны. Найти среднее геометрическое модулей элементов в заштрихованной области (рис. 5), где max – максимальный элемент матрицы.

 
 

Рис. 5

25. Дана квадратная матрица. Заменить две ее первые строки последним из столбцов, в котором находится минимальный элемент матрицы.

26. Дана квадратная матрица, все элементы которой различны. Обменять местами строки, в которых находятся максимальный и минимальный элементы.

27. Дана квадратная матрица. Заменить предпоследнюю строку матрицы первым из столбцов, в котором находится минимальный элемент матрицы.

28. Определить количество классов эквивалентных столбцов данной прямоугольной матрицы. Столбцы считать эквивалентными, если равны множества их элементов.

29. Даны две матрицы одинаковых размеров. Определить, можно ли переставить строки одной из них, чтобы получить, другую.

30. Определить количество классов эквивалентных строк данной прямоугольной матрицы. Строки считать эквивалентными, если перестановкой элементов одной из них, можно получить, другую.

Контрольные вопросы

1. Перечислите способы описания многомерных массивов.

2. Как располагаются в памяти ЭВМ элементы многомерных массивов?

3. Как осуществляется ввод и вывод многомерных массивов.

4. Как обработать элементы под/над главной/побочной диагональю квадратной матрицы?

5. Что такое псевдодиагональ матрицы?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: