Лабораторная работа № 2.
Динамические массивы

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

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

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

Ввод всех данных осуществляется из файла, вывод – в файл. Имена файлов передаются через параметры программы.

Описание

  1. Найти минимальный элемент первой строки матрицы, все элементы которой положительны. Если такой строки нет, сформировать новый массив, содержащий количество нулевых элементов в каждой строке матрицы. Также определить в каком из двух одномерных массивов минимальный элемент больше.
  2. Найти максимальный элемент первой строки матрицы, все элементы которой отрицательны. Если такой строки нет, сформировать новый массив – для каждой строки матрицы найти количество элементов, больших первого элемента этой строки. Также определить в каком из двух одномерных массивов максимальный элемент меньше.
  3. Найти сумму положительных элементов первой строки матрицы, все элементы которой кратны заданному числу. Если такой строки нет, определить количество строк матрицы, сумма элементов которых положительна. Также определить в каком из двух одномерных массивов больше сумма положительных элементов.
  4. Найти количество положительных элементов первой строки матрицы, все элементы которой не кратны заданному числу. Если такой строки нет, сформировать новый массив – для каждой строки матрицы найти произведение элементов, меньших последнего элемента этой строки. Также определить в каком из двух одномерных массивов меньше количество положительных элементов.
  5. Изменить на противопроложный знак элементов первой строки матрицы, все элементы которой равны заданному числу. Если такой строки нет, сформировать новый массив, содержащий номера строк, произведение элементов которых меньше единицы. Также изменить на противоположный знак элементов двух одномерных массивов.
  6. Найти произведение отрицательных элементов первой строки матрицы, все элементы которой не равны заданному числу. Если такой строки нет, заменить нулём отрицательные элементы матрицы и определить общее количество замен. Также определить в каком из двух одномерных массивов больше произведение отрицательных элементов.
  7. Найти сумму отрицательных элементов первой строки матрицы, элементы которой упорядочены по возрастанию. Если такой строки нет, сформировать новый массив, содержащий номера тех строк матрицы, в которых количество положительных элементов больше n / 2, где n – количество столбцов матрицы. Также определить в каком из двух одномерных массивов меньше количество положительных элементов.
  8. Переставить в обратном порядке элементы первой строки матрицы, элементы которой упорядочены по убыванию. Если такой строки нет, вычислить общую сумму элементов тех строк матрицы, последний элемент которых равен нулю. Также переставить в обратном порядке элементы двух одномерных массивов.
  9. Разделить на заданное число элементы первой строки матрицы, все элементы которой попадают в заданный диапазон. Если такой строки нет, сформировать новый массив – для каждой строки найти произведение элементов, больших первого элемента строки. Также разделить на заданное число элементы двух одномерных массивов.
  10. Умножить на заданное число элементы первой строки матрицы, все элементы которой не попадают в заданный диапазон. Если такой строки нет, сформировать новый массив – для каждой строки определить количество элементов, равных последнему элементу этой строки. Также определить в каком из двух одномерных массивов больше количество элементов, равных последнему элементу массива.
  11. Каждый элемент первой строки матрицы, все элементы которой больше заданного положительного числа, заменить на его квадратный корень. Если такой строки нет, положительные элементы матрицы увеличить в 2 раза, а отрицательные – заменить нулём. Также заменить на квадратный корень элементы каждого из двух одномерных массивов, если все элементы этого массива положительны.
  12. Возвести в квадрат элементы первой строки матрицы, все элементы которой меньше заданного числа. Если такой строки нет, подсчитать количество строк, в которых произведение элементов отрицательно. Также определить в каком из двух одномерных массивов больше произведение элементов.
  13. Найти минимальный элемент последней строки матрицы, содержащей хотя бы один элемент, кратный заданному числу. Если такой строки нет, все положительные элементы матрицы заменить значением элемента, стоящего в её последней строке и последнем столбце. Также определить в каком из двух одномерных массивов минимальный элемент больше.
  14. Найти максимальный элемент последней строки матрицы, содержащей хотя бы один элемент, некратный заданному числу. Если такой строки нет, найти среднее арифметическое неотрицательных элементов матрицы, лежащих ниже главной диагонали. Также определить в каком из двух одномерных массивов максимальный элемент меньше.
  15. Найти сумму положительных элементов последней строки матрицы, не упорядоченной по возрастанию. Если такой строки нет, найти общую сумму элементов тех строк матрицы, в которых отрицателен первый элемент. Также определить в каком из двух одномерных массивов больше сумма положительных элементов.
  16. Найти количество положительных элементов последней строки матрицы, не упорядоченной по убыванию. Если такой строки нет, изменить матрицу, прибавляя к каждому отрицательному элементу значение предыдущего элемента той же строки. Если отрицателен первый элемент строки, прибавить к нему значение последнего элемента строки. Также определить в каком из двух одномерных массивов меньше количество положительных элементов.
  17. Найти сумму отрицательных элементов последней строки матрицы, содержащей хотя бы один элемент, равный заданному числу. Если такой строки нет, подсчитать количество строк матрицы, в пределах каждой из которых элементы упорядочены по возрастанию. Также определить в каком из двух одномерных массивов элементы упорядочены.
  18. Найти произведение отрицательных элементов последней строки матрицы, содержащей хотя бы один элемент, равный заданному числу. Если такой строки нет, найти среднее арифметическое значений элементов каждой строки. Также определить в каком из двух одномерных массивов больше модуль произведения отрицательных элементов.
  19. Изменить на противопроложный знак элементов последней строки матрицы, все элементы которой положительны. Если такой строки нет, найти общую сумму элементов тех строк матрицы, сумма элементов в каждой из которых положительна. Также определить в каком из двух одномерных массивов меньше сумма положительных элементов.
  20. Переставить в обратном порядке элементы последней строки матрицы, содержащей хотя бы один отрицательный элемент. Если такой строки нет, заменить элементы матрицы, равные нулю, на заданное значение. Также переставить в обратном порядке элементы двух одномерных массивов.
  21. Положительные элементы последней строки матрицы, содержащей хотя бы один элемент, попадающий в заданный диапазон, заменить на их квадратный корень. Если такой строки нет, найти среднее арифметическое элементов матрицы, меньших заданного значения. Также заменить на квадратный корень положительные элементы двух одномерных массивов.
  22. Возвести в квадрат элементы последней строки матрицы, содержащей хотя бы один элемент, не попадающий в заданный диапазон. Если такой строки нет, определить количество строк матрицы, сумма элементов которых положительна. Также определить в каком из двух одномерных массивов больше сумма элементов.
  23. Разделить на заданное число элементы последней строки матрицы, содержащей хотя бы один элемент, больший заданного числа. Если такой строки нет, сформировать новый массив – для каждой строки матрицы найти произведение отрицательных элементов. Также разделить на заданное число элементы двух одномерных массивов.
  24. Умножить на заданное число элементы последней строки матрицы, содержащей хотя бы один элемент, меньший заданного числа. Если такой строки нет, сформировать новый массив – для каждой строки матрицы вычислить среднее арифметическое элементов, меньших первого элемента этой строки. Также умножить на заданное число элементы двух одномерных массивов.
  25. Элементы первой строки матрицы, содержащей более двух элементов, попадающих в заданный диапазон, заменить на их модули. Если такой строки нет, определить количество отрицательных и количество положительных элементов матрицы. Также заменить на их модули элементы двух одномерных массивов.
  26. Переставить в обратном порядке элементы первой строки матрицы, содержащей более трёх элементов, не попадающих в заданный диапазон. Если такой строки нет, элементы матрицы, абсолютная величина которых больше заданного значения с, разделить на с. Также переставить в обратном порядке элементы двух одномерных массивов.
  27. Элементы xi первой строки матрицы, содержащей более n / 2 положительных элементов, заменить на значение выражения √|xi| (n – количество элементов в строке). Если такой строки нет, сформировать новый массив – для каждой строки матрицы определить количество элементов, меньших заданного значения. Также заменить на значение выражения √|xi| элементы двух одномерных массивов.
  28. Возвести в куб элементы первой строки матрицы, содержащей более двух отрицательных элементов. Если такой строки нет, в каждой строке матрицы заменить нулевые элементы значением первого элемента этой строки, который предполагается не равным нулю. Также возвести в куб элементы двух одномерных массивов.
  29. Разделить на порядковый номер элементы первой строки матрицы, содержащей более трёх элементов, кратных заданному числу. Если такой строки нет, найти количество строк матрицы, сумма элементов которых меньше 0. Также определить в каком из двух одномерных массивов меньше сумма элементов.
  30. Умножить на порядковый номер элементы первой строки матрицы, содержащей более n / 2 элементов, некратных заданному числу (n – количество элементов в строке). Если такой строки нет, сформировать новый массив – для каждой строки матрицы вычислить произведение положительных элементов. Также умножить на порядковый номер элементы двух одномерных массивов.
  31. Найти минимальный элемент первой строки матрицы, содержащей более двух элементов, равных заданному числу. Если такой строки нет, сформировать новый массив – определить количество отрицательных и количество положительных элементов в каждой строке матрицы. Также определить в каком из двух одномерных массивов минимальный элемент меньше.
  32. Найти максимальный элемент первой строки матрицы, содержащей более трёх элементов, неравных заданному числу. Если такой строки нет, сформировать новый массив – найти номера строк матрицы, сумма элементов которых меньше 0. Также определить в каком из двух одномерных массивов больше сумма элементов.
  33. Найти среднее арифметическое положительных элементов первой строки матрицы, содержащей более n / 2 элементов, больших заданного числа (n – количество элементов в строке). Если такой строки нет, сформировать новый массив – для каждой строки матрицы найти среднее арифметическое элементов, больших нуля, но меньших единицы. Также определить в каком из двух одномерных массивов больше среднее арифметическое.
  34. Найти количество положительных элементов последней строки матрицы, содержащей более двух элементов, меньших заданного числа. Если такой строки нет, вычислить произведение тех элементов матрицы, которые больше c, но меньше d (c и d – заданные значения, c < d). Также определить в каком из двух одномерных массивов больше количество положительных элементов.
  35. Найти сумму отрицательных элементов первой строки матрицы, содержащей более трёх элементов, равных заданному числу. Если такой строки нет, вычислить общую сумму элементов тех строк матрицы, первый элемент которых положителен. Также определить в каком из двух одномерных массивов меньше сумма элементов.
  36. Найти сумму отрицательных элементов первой строки матрицы, содержащей более n / 2 элементов, кратных заданному числу (n – количество элементов в строке). Если такой строки нет, все отрицательные элементы матрицы заменить квадратом их значений. Также определить в каком из двух одномерных массивов больше модуль суммы отрицательных элементов.