Лабораторная работа №1.
Тема: Организация программ по обработке массивов и матриц.
Цель работы: закрепление теоретического материала, освоение методов разработки алгоритмов и приобретение практических навыков в программной реализации задач обработки многомерных массивов.
Требования к выполнению работы:
В каждом из вариантов заданий по лабораторной работе необходимо составить алгоритм и программу, которые предусматривают следующие функции:
- формирование элементов исходной матрицы одним из способов:
а) случайным образом; б) вводом с клавиатуры; в) чтением из файла;
- печать матрицы (исходной и преобразованной);
- обработку матрицы в соответствии с условием задачи;
Программа должна иметь как минимум три вышеперечисленные функции. Функции должны быть организованы так, чтобы выполнять обработку матриц любой размерности. Категорически запрещается использовать глобальные переменные. Обработка матрицы должна быть реализована двумя способами:
а) типизированной функцией;
б) фукнцией неопределенного типа.
Группа а
Варианты заданий.
1. Для прямоугольной матрицы определить среднее арифметическое значения S ее элементов, a также процент элементов матрицы, превышающих это значение.
2. Рассматривая каждую строку прямоугольной матрицы как вектор, найти максимальное скалярное произведение S.
3. В прямоугольной матрице найти номера столбцов, содержащих соответственно максимальное и минимальное количество отрицательных элементов.
4. Рассматривая каждый столбец прямоугольной матрицы как вектор, определить номер вектора-столбца, длина L которого максимальна:
5. Рассматривая элементы строки прямоугольной матрицы координатами точек в n-мерном пространстве, определить максильное расстояние d между точками.
6. В квадратной матрице найти значение максимального элемента, который в наименьшей степени отличается от среднего арифметического значения элементов данной матрицы.
7. В квадратной матрице найти значение максимального элемента среди элементов, расположенных выше главной диагонали, и минимального элемента среди элементов, расположенных ниже главной диагонали.
8. В прямоугольной матрице определить номера строк, сумма модулей элементов которых наибольшая и наименьшая по сравнению с другими строками.
9. В прямоугольной матрице определить среднее арифметическое значение S и дисперсию D отдельно для положительных и отдельно для отрицательных элементов данной матрицы (нулевые элементы при расчете S и D не учитывать):
10. В прямоугольной матрице каждый столбец содержит компоненты вектора в n-мерном пространстве. Определить минимальный угол между векторами.
Р. S. Для векторов:
11. Для каждого столбца прямоугольной матрицы вычислить среднее геометрическое Р модулей его элементов. (матрица не должна иметь нулевых элементов):
12. В каждом столбце квадратной матрицы найти максимальный по модулю элемент и, если он не является диагональным, поменять его местами с диагональным элементом, подсчитать количество таких перестановок.
13. В прямоугольной матрице все элементы положительные числа. Определить для каждого столбца матрицы гармоническое среднее S и определить номер столбца, имеющего максимальное значение S.
P.S. Для массива A (a1,a2,…,an)
14. К каждому элементу главной диагонали квадратной матрицы прибавить такое значение, чтобы сумма элементов в соответствующем столбце матрицы была нулевой.
15. В прямоугольной матрице определить количество столбцов, полностью состоящих из положительных элементов.
Р.S. Последовательный просмотр элементов столбца организовать таким образом, чтобы при обнаружении первого отрицательного элемента остальные элементы столбца не проверялись.
16. Для каждого столбца прямоугольной матрицы подсчитать сумму входящих в него элементов и определить, имеются ли столбцы с одинаковой суммой. Подсчитать количество таких пар столбцов.
17. Рассматривая каждый столбец прямоугольной матрицы как вектор определить имеются ли в матрице ортогональные вектор-столбцы. Подсчитать количество пар таких столбцов.
P.S. Векторы называют ортогональными, если их скалярное произведение равно нулю.
18. В прямоугольной матрице определить количество строк, элементы которых полностью упорядочены по возрастанию.
19. В прямоугольной матрице, имеющей четное количество строк, переставить каждую пару строк (1,2),(3,4),... таким образом, чтобы первой была строка с меньшей суммой элементов.
20. В прямоугольной матрице определить количество столбцов, содержащих элементы только одного знака (положительные или отрицательные) и не содержащих нулевых элементов.
21. Каждая строка прямоугольной матрицы определяет координаты точек в n-мерном пространстве. Точки принадлежат ломаной линии, начинающейся с точки, содержащей в первой строке, и заканчивающейся в точке, содержащейся в последней строке матрицы. Вычислить длину ломаной и определить номер ее отрезка, имеющего наибольшую длину.
22. Каждую строку прямоугольной матрицы сгладить по формуле:
aij=(aij-1+aij+aij+1)/3 для каждой строки определить максимальное отклонение d ее элементов от среднего арифметического значения данной строки до и после сглаживания.
23. В каждом столбце прямоугольной матрицы подсчитать количество положительных элементов, окруженных слева и справа по крайней мере одним отрицательным элементом. Первый и последний элементы строки не учитывать. Определить номер строки, имеющей максимальное количество таких элементов.
24. В каждом столбце прямоугольной матрицы найти минимальный элемент и определить номер столбца, имеющего максимальное значение такого элемента.
25. Определить, имеются ли в прямоугольной матрице линейно зависимые строки и подсчитать количество пар таких строк.
P.S. Строки i и m линейно зависимы, если