Задача «Модули»

Разработать программу для обработки двух или трёх матриц разного размера с использованием процедур и функций, реализованных в отдельном модуле (вариант № + 1). Необходимо выбрать подходящий тип подпрограмм – процедура или функция, для ввода и вывода матриц использовать процедуры.

Ввод всех данных осуществляется из файла, вывод – в файл. Для передачи имён файлов должны использоваться параметры программы. Для каждой матрицы использовать своё заданное значение. При транспонировании и других изменениях новых матриц не создавать.

Описание

  1. Определить, как соотносятся (больше, меньше или равно) суммы положительных, расположенных выше главной диагонали элементов двух матриц. Если суммы равны, то в каждой матрице найти индексы максимального по модулю элемента.
  2. Для каждой из трёх матриц определить индексы минимального элемента среди элементов, расположенных выше главной диагонали. Если в какой-то паре матриц минимальные элементы равны, то изменить все матрицы, вычитая из каждого элемента матрицы значение соответствующего минимального элемента.
  3. Вычислить значение выражения PA + PB – PC, где PA, PB и PC – произведения положительных элементов, расположенных ниже главной диагонали, в матрицах A, B и C соответственно. Если вычисленное значение отрицательно, то заменить в матрицах отрицательные элементы их модулями, и снова вычислить значение этого выражения.
  4. Вычислить разность SA – SB, где SA и SB – средние арифметические положительных элементов, расположенных ниже главной диагонали, в матрицах A и B соответственно. Если разность отрицательна, транспонировать матрицы и снова вычислить разность SA – SB.
  5. В каждой из трёх матриц вычислить среднее арифметическое ненулевых элементов. Определить, как изменится среднее арифметическое ненулевых элементов каждой матрицы, если заменить на 0 элементы, лежащие выше главной диагонали, которые меньше заданного значения.
  6. Вычислить значение выражения (PA + PB) · PC, где PA, PB и PC – произведения положительных элементов, расположенных выше главной диагонали, в матрицах A, B и C соответственно. Если значение выражения больше заданной величины, транспонировать матрицы и снова вычислить значение этого выражения.
  7. Если максимальные элементы трёх матриц равны, в каждой из матриц определить для каждой строки (сформировать массив) количество элементов, больших заданного значения.
  8. В каждой из трёх матриц определить для каждой строки (сформировать массив) среднее арифметическое элементов, больших заданного значения. Затем для всех матриц разделить каждый элемент матрицы на вычисленное среднее арифметическое элементов, больших заданного значения, той же строки.
  9. Для каждой из трёх матриц проверить, есть ли ниже главной диагонали элементы, меньшие заданного значения. Если в матрице такие элементы есть, определить среднее арифметическое элементов, меньших заданного значения, во всей матрице.
  10. Вычислить значение выражения PA + 2 · PB – PC, где PA, PB и PC – произведения положительных элементов, не лежащих на главной диагонали, в матрицах A, B и C соответственно. Если вычисленное значение отрицательно, то заменить в матрицах отрицательные элементы их модулями, и снова вычислить значение этого выражения. При вычислении произведения положительных элементов, не лежащих на главной диагонали, проверку индексов на равенство не делать!
  11. Для каждой из трёх матриц определить количество строк, сумма элементов которых положительна. Если все количества различны, умножить в матрицах положительные элементы на 2, а отрицательные – на 3, и снова определить количество строк, сумма элементов которых положительна.
  12. Вычислить значение выражения Amin · Bmin – Cmin, где Amin, Bmin и Cmin – минимальные значения среди положительных элементов матриц A, B и C соответственно. Изменить матрицы, вычитая из каждого элемента матриц A, B и C значения Amin, Bmin и Cmin соответственно.
  13. Для каждой из трёх матриц проверить наличие строк, сумма элементов которых меньше заданного числа. Если в матрице такие строки есть, изменить матрицу, заменив каждый элемент матрицы квадратом его значения.
  14. Для каждой из трёх матриц A, B и C проверить, все ли строки имеют положительную сумму элементов. Если это верно для всех трёх матриц, то вычислить значение выражения PA – PB + PC, где PA, PB и PC – произведения положительных элементов матриц A, B и C соответственно.
  15. Для каждой из трёх матриц определить количество строк, в которых есть элементы, равные заданному числу. Если количество таких строк в матрицах равно, то в каждой матрице найти количество элементов, равных заданному числу.
  16. Для каждой из трёх матриц проверить наличие столбцов, сумма элементов которых больше заданного числа. Если в матрице такой столбец есть, изменить матрицу, разделив каждый элемент на номер столбца, в котором находится этот элемент.
  17. Для каждой из трёх матриц определить количество строк, сумма элементов которых отрицательна. Если количества равны, изменить матрицы, разделив каждый отрицательный элемент на номер строки, в которой находится этот элемент.
  18. Для каждой из трёх матриц определить индексы максимального значения среди элементов, расположенных ниже главной диагонали. Заменить в матрицах элементы строки и столбца, на пересечении которых находится найденный элемент, значением этого элемента.
  19. Для каждой из трёх матриц определить количество столбцов, в которых есть элементы, равные заданному числу. Если количество таких столбцов во всех матрицах равно, разделить все элементы матриц на заданное число.
  20. Вычислить значение выражения PA + PB · PC, где PA, PB и PC – модуль произведения отрицательных элементов тех строк, в которых отрицателен первый элемент строки, в матрицах A, B и C соответственно. Если значение выражения меньше заданной величины, транспонировать матрицы и снова вычислить значение этого выражения.
  21. Вычислить разность SA – SB, где SA и SB – модуль среднего арифметического отрицательных элементов тех строк, в которых отрицателен элемент главной диагонали, в матрицах A и B соответственно. Если разность отрицательна, найти среднее арифметическое значение максимальных элементов матриц.
  22. В каждой из трёх матриц найти минимальный по модулю элемент. Если все три минимальные по модулю элементы равны, в каждой матрице определить для каждого столбца (сформировать массив) количество элементов, больших удвоенного минимального элемента матрицы.
  23. В каждой из трёх матриц найти максимальный элемент. Если все три максимальные элементы имеют разные значения, определить для каждого столбца (сформировать массив) среднее арифметическое элементов, меньших половины максимального элемента матрицы.
  24. Для каждой из трёх матриц проверить, есть ли выше главной диагонали элементы, большие заданного значения. Если такие элементы есть во всех матрицах, транспонировать каждую матрицу относительно побочной диагонали.
  25. Для каждой из трёх матриц проверить наличие нулевых элементов. Если в матрице есть такие элементы, определить в ней для каждой строки (сформировать массив) минимальное значение.
  26. Для каждой из трёх матриц найти индексы максимального элемента. Если максимальный элемент матрицы находится на главной диагонали, определить количество строк, в которых нет элементов, кратных заданному числу.
  27. Для каждой из трёх матриц проверить, все ли столбцы имеют положительную сумму элементов. Если в матрице все столбцы имеют положительную сумму элементов, найти произведение положительных элементов.
  28. Для каждой из трёх матриц определить количество строк, в которых нет элементов, равных заданному числу. Если все строки матрицы не содержат элементов, равных заданному числу, разделить каждый элемент строки на предшествующий ему элемент. Первый элемент строки оставить без изменения.
  29. Вычислить значение выражения PA · PB + PC, где PA, PB и PC – произведение ненулевых элементов матриц A, B и C соответственно. Если значение выражения больше заданного числа, в каждой из трёх матриц переставить i-ую строку (2 ≤ in) на (i – 1)-ую позицию. Первую строку переставить в конец матрицы.
  30. Определить, как соотносятся (больше, меньше или равно) суммы отрицательных, не лежащих на главной диагонали элементов двух матриц. Если суммы равны, найти разность минимальных элементов матриц. При вычислении сумм отрицательных элементов, не лежащих на главной диагонали, проверку индексов на равенство не делать!
  31. Вычислить значение выражения Amax + Bmax – Cmax, где Amax, Bmax и Cmax – максимальные значения среди элементов, расположенных ниже главной диагонали, в матрицах A, B и C соответственно. Если значение выражения больше заданной величины, транспонировать матрицы и снова вычислить значение этого выражения.
  32. Для каждой из трёх матриц проверить наличие нулевых элементов. Если в матрице есть нулевые элементы, подсчитать в каждой строке (сформировать массив) количество элементов, кратных заданному числу.
  33. В каждой из трёх матриц определить для каждого столбца (сформировать массив) сумму элементов, меньших заданного значения. Затем переставить i-ый столбец (2 ≤ in) на (i – 1)-ую позицию. Первый столбец переставить в конец матрицы.
  34. Вычислить значение выражения PA · (PB + PC), где PA, PB и PC – произведения положительных элементов, расположенных ниже побочной диагонали, в матрицах A, B и C соответственно. Транспонировать матрицы относительно побочной диагонали и снова вычислить значение этого выражения.
  35. Вычислить значение выражения Amax · Bmax – Cmax, где Amax, Bmax и Cmax – максимальные значения среди отрицательных элементов матриц A, B и C соответственно. Если значение выражения больше заданного числа, найти в каждой матрице максимальный элемент главной диагонали.
  36. Если в трёх матрицах суммы положительных элементов равны, для каждой из матриц определить для каждого столбца (сформировать массив) минимальное значение.