Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
309
Добавлен:
04.03.2014
Размер:
37.89 Кб
Скачать

Студентам задания 9-1 Процедуры

  1. Составить процедуру перемножения двух матриц. Процедура должна содержать проверку возможности умножения матриц и выдавать код ошибки, равный -1, если умножение невозможно, иначе - 0. С помощью процедуры вычислить n-ую степень An квадратной матрицы A(m,m), m≤10.

  2. Составить процедуру, которая находит минимальный и максимальный элементы всей матрицы и переписывает все элементы, находящиеся между ними (при просмотре матрицы по строкам), в одномерный массив. Использовать составленную процедуру для формирования из матрицы C(k,l), k≤12, l≤14, D, который упорядочить по возрастанию, если он не пуст, и выдать соответствующее сообщение в противном случае.

  3. Составить процедуру, которая находит в матрице первый и пятый положительные элементы при просмотре матрицы по строкам и переписывает все отрицательные элементы, находящиеся между ними, в одномерный массив. Использовать составленную процедуру для получения OTR из матрицы V(l,m), l≤15, m≤18. Упорядочить полученный массив по убыванию, если он не пуст, и выдать сообщение в противном случае.

  4. Составить процедуру, которая формирует матрицу H(m,m-1) из матрицы F(m,m), m≤12, путем вычеркивания минимального элемента каждой строки матрицы. Умножить исходную матрицу на полученную. В основной программе с помощью составленной процедуры получить на основе матрицы A две новые матрицы B (без минимальных элементов) и C (результат умножения A на B).

  5. Составить процедуру, которая находит в матрице B строки, содержащие минимальный и максимальный элементы матрицы. Из найденных строк сформировать матрицу D, рассматривая их как столбцы новой матрицы. Умножить исходную матрицу на матрицу D. Использовать составленную процедуру для получения из матрицы H(l,m), l≤9, m≤8, матриц P и Q.

  6. Составить процедуру, которая удаляет из матрицы строки, целиком состоящие из нулевых элементов, а затем определяет минимальный и максимальный по абсолютной величине элементы преобразованной матрицы. Использовать составленную процедуру для матрицы B(l,m), l≤13, m≤14.

  7. Составить процедуру, которая определяет точки, расстояние между которыми максимально и минимально. Координаты точек заданы в массивах X(n), Y(n), n≤20. Использовать составленную процедуру для массивов X1, Y1, вывести номера найденных точек, а также расстояние между ними.

  8. Составить процедуру, которая в матрице переставляет элементы каждой строки так, чтобы в начале строки располагались положительные элементы, а затем – неположительные. Для строк, содержащих положительные элементы, вычислить средние геометрические положительных элементов и занести их в массив G. Для строк, не содержащих положительных элементов, вычислить средние арифметические значения и занести их в массив A. (Перестановку элементов строк провести без использования алгоритма упорядочения за один цикл просмотра элементов строки). Использовать составленную процедуру для матрицы W(m,n), m≤12, n≤15.

  9. Составить процедуру, которая в матрице обменивает местами строки, содержащие соответственно минимальный и максимальный элементы всей матрицы. Если обмен местами строк невозможен (максимальный и минимальный элементы расположены в одной строке), то поменять местами столбцы, содержащие найденные элементы. Если все элементы матрицы одинаковые, то никаких преобразований не делать и сформировать признак результата -1, иначе сформировать признак результата ноль. Использовать составленную процедуру для матрицы T(m,n), m≤12, n≤15.

  10. Составить процедуру, которая первый отрицательный элемент каждой строки матрицы заменяет суммой положительных элементов строки. Если замена невозможна (нет отрицательных элементов в строке), то преобразований в строке не производить, а занести номер этой строки в массив NOM без пропусков. Использовать составленную процедуру для матрицы Q(k,l), k≤14, l≤15.

  11. Составить процедуру, упорядочивающую строки матрицы по возрастанию сумм элементов строк. Использовать составленную процедуру для матрицы E(k,m), k≤14, m≤12.

  12. Составить процедуру, которая в матрице находит строки (векторы) с наибольшей суммой и наибольшим произведением элементов. Сформировать массив (вектор), представляющий собой скалярное произведение найденных векторов (сумма по-парных произведений элементов двух массивов с одноименными индексами). Использовать составленную процедуру для матрицы SP(k,n), k≤12, n≤15.

  13. Составить процедуру, которая на основе коэффициентов двух многочленов, хранящихся в двух массивах по убыванию степеней, находит массив коэффициентов многочлена, являющегося произведением заданных многочленов. Вычислить значение полученного многочлена при заданном значении аргумента. Использовать составленную процедуру для умножения двух многочленов порядка не более 15.

  14. Составить процедуру, которая последний положительный элемент каждой строки матрицы заменяет суммой остальных элементов строки. Если замена невозможна (нет положительных элементов в строке), то преобразований в строке не производить, а занести номер этой строки в массив NOM без пропусков. Использовать составленную процедуру для матрицы Q(k,l), k≤14, l≤15.

  15. Составить процедуру, которая в каждой строке матрицы заменяет каждый нулевой элемент суммой элементов, стоящих между предыдущим и текущим нулевыми элементами. Первый нулевой элемент строки заменить суммой всех предшествующих элементов. Если нулевой элемент стоит на первом месте в строке, то оставить его без изменений. Использовать составленную процедуру для матрицы W(m,n), m≤12, n≤15.

  16. Составить процедуру, которая в каждой строке матрицы заменяет каждый нулевой элемент максимальным элементом из стоящих между предыдущим и текущим нулевыми элементами. Первый нулевой элемент строки заменить максимальным из всех предшествующих элементов. Если нулевой элемент стоит на первом месте в строке, то оставить его без изменений. Использовать составленную процедуру для матрицы W(m,n), m≤12, n≤15.

  17. Составить процедуру, которая в матрице во всех строках со второй по предпоследнюю находит максимальный и минимальный элементы. Максимальный элемент помещается на место первого элемента строки, а минимальный – на место последнего элемента строки. Во всех столбцах матрицы со второго по предпоследний найти сумму и произведение элементов, сумму поместить на первое место в столбце, а произведение – на последнее место. Элементам, стоящим в вершинах матрицы присвоить ноль. Использовать составленную процедуру для матрицы B(l,m), l≤13, m≤14.

  18. В квадратной матрице в каждой строке найти минимальный элемент, стоящий под главной диагональю (не включая главную диагональ), и максимальный элемент, стоящий над главной диагональю (включая главную диагональ). Из найденных элементов сформировать два вектора. Найти третий вектор, являющийся скалярным произведением первых двух векторов (сумма попарных произведений элементов двух массивов с одноименными индексами). Использовать составленную процедуру для матрицы A(l,l), l≤14.

  19. Составить процедуру, которая находит в каждой строке матрицы минимальный элемент и проверяет, является ли найденный элемент максимальным в том столбце, где он расположен. Если это условие выполняется, то запомнить в матрице NOM(k,2) индексы найденных элементов. Использовать составленную процедуру для матрицы S(l,m), l≤13, m≤11

  20. Составить процедуру упорядочения строк матрицы по возрастанию количества элементов строк, нацело делящихся на заданное число m. Использовать составленную процедуру для матрицы Z(k,l), k≤12, l≤14.

  21. Составить процедуру, которая из двух целочисленных одномерных массивов, в каждом из которых все элементы разные, образует третий массив, в который переписывает элементы, которые присутствуют либо в первом, либо во втором массиве (объединение двух массивов). Использовать процедуру для массивов E(l), l≤20, F(m), m≤30.

  22. Составить процедуру, которая из двух целочисленных одномерных массивов, в каждом из которых все элементы разные, образует третий массив, в который переписывает элементы, которые присутствуют одновременно в первом и во втором массивах (пересечение двух массивов). Использовать процедуру для массивов E(l), l≤20, F(m), m≤30.

  23. Составить процедуру, которая из двух целочисленных одномерных массивов, в каждом из которых все элементы разные, образует третий массив, в который переписывает элементы первого массива, которых нет во втором массиве (дополнение второго массива до первого). Использовать процедуру для массивов E(l), l≤20, F(m), m≤30.

  24. Составить процедуру, которая транспонирует исходную матрицу и умножает первую матрицу на транспонированную матрицу. В полученной матрице найти максимальный элемент верхней треугольной матрицы и минимальный элемент нижней треугольной матрицы. Использовать составленную процедуру для матрицы H(l,n), l≤12, n≤14.

  25. Составить процедуру, которая в квадратной матрице в каждой строке матрицы среди элементов, стоящих над главной диагональю, находит максимальный элемент, а в каждом столбце среди элементов, стоящих под главной диагональю, находит минимальный элемент. (Элементы главной диагонали не рассматривать). Найденные элементы, расположенные в одноименных строке и столбце, поменять местами. Использовать составленную процедуру для матрицы H(n,n).