Выполнить следующие задания, используя процедуры и функции. 3 страница

50. Дан массив ненулевых целых чисел размера N. Определить число соседств из двух чисел разного знака.

51. Дан массив размера N. Вычислить сумму произведений всех пар соседних чисел.

52. Дан массив размера N. Вычислить сумму произведений всех троек соседних чисел.

53. Дан массив размера N. Определить количество пар соседних чисел, являющихся противоположными.

54. Дан массив размера N. Определить произведение нечетных элементов, имеющих четные индексы.

55. Дан массив размера N. Найти количество его локальных минимумов.

56. Дан массив размера N. Найти количество его локальных максимумов.

57. Дан массив размера N. Найти максимальный из его локальных минимумов.

58. Дан массив размера N. Найти минимальный из его локальных максимумов.

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

60. Дан массив размера N. Определить количество участков, на которых его элементы монотонно убывают.

61. Дан массив размера N. Определить количество его промежутков монотонности (то есть участков, на которых его элементы возрастают или убывают).

62. Дано вещественное число R и массив размера N. Найти элемент массива, который наиболее близок к данному числу.

63. Дано вещественное число R и массив размера N. Найти элемент массива, который наименее близок к данному числу.

64. Дано вещественное число R и массив размера N. Найти два элемента массива, сумма которых наиболее близка к данному числу.

65. Дано вещественное число R и массив размера N. Найти два элемента массива, сумма которых наименее близка к данному числу.

66. Дан массив размера N. Найти номера двух ближайших чисел из этого массива.

67. Дан целочисленный массив размера N. Определить максимальное количество его одинаковых элементов.

68. Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся менее двух раз.

69. Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся более двух раз.

70. Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся ровно два раза.

71. Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся ровно три раза.

72. Дан целочисленный массив размера N, содержащий большое количество нулевых элементов. Заменить все группы подряд встречающихся нулей на один нуль.

73. Дан целочисленный массив размера N, содержащий большое количество нулевых элементов. Заменить группы элементов, состоящие из нечетного количества нулей, на один нулевой элемент, а из четного — на два.

74. Дан целочисленный массив размера N, содержащий большое количество нулевых элементов. Заменить все группы подряд встречающихся нулей на элемент, состоящий из двух цифр, где первая цифра — 0, а вторая — количество нулей в группе.

75. Дан целочисленный массив размера N. Если он является перестановкой, то есть содержит все числа от 1 до N, то вывести 0, в противном случае вывести номер первого недопустимого элемента.

76. Дан массив размера N. Преобразовать его, вставив перед1|после2 каждого положительного3|отрицательного4 элемента нулевой элемент.

77. Дан целочисленный массив размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1). Вывести массив, содержащий длины всех серий исходного массива.

78. Дан целочисленный массив размера N. Преобразовать массив, увеличив1|уменьшив2 каждую его серию на один элемент.

79. Дан целочисленный массив размера N. Преобразовать массив, увеличив первую1|последнюю2|все3 серии наибольшей длины на один элемент.

80. Дан целочисленный массив размера N. Вставить перед1|после2 каждой серии нулевой элемент.

81. Дано число k и целочисленный массив размера N. Поменять местами первую1|последнюю2 и k-ю серии массива. Если серий в массиве меньше k, то вывести массив без изменений.

82. Дано число k и целочисленный массив размера N. Удалить из массива все серии, длина которых меньше1|равна2|больше3 k.

83. Дано число k и целочисленный массив размера N. Заменить каждую серию, длина которой меньше1|равна2|больше3 k, на один нулевой элемент.

84. Даны два массива A и B размера N, элементы которых упорядочены по возрастанию1|убыванию2. Объединить эти массивы так, чтобы результирующий массив остался упорядоченным.

85. Дан массив размера N. Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют возрастающую1|убывающую2 последовательность.

86. Дана точка A и массив B из N точек. Найти номер точки из массива B, наиболее близкой1|удаленной2 от точки A.

87. Дан массив из N точек. Среди всех точек этого массива, лежащих в первой1|второй2|третьей3|четвертой4 четверти, найти точку, наиболее близкую5|удаленную6 от начала координат. Если таких точек нет, то вывести точку с нулевыми координатами.

88. Дан массив из N точек. Найти пару различных точек этого массива с минимальным1|максимальным2 расстоянием между ними и само это расстояние (точки выводятся в порядке возрастания индексов.

89. Дан массив из N точек. Найти такую точку из данного массива, сумма расстояний от которой до остальных его точек минимальна1|максимальна2, и саму эту сумму.

90. Даны множества A и B, состоящие соответственно из N1 и N2 точек. Найти минимальное1|максимальное2 расстояние между точками этих множеств и сами точки, расположенные на этом расстоянии.

91. Дано множество A из N точек. Найти наименьший1|наибольший2 периметр треугольника, вершины которого принадлежат различным точкам множества A, и сами эти точки (точки выводятся в том же порядке, в котором они перечислены при задании множества A).

 

Процедуры и функции

 

Задания

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

Вспомогательные локальные переменные-массивы в процедурах или функциях при выполнении заданий использовать не следует.

 

1. Дано число k (0 < k < n) и матрица размера n×m. Найти сумму и произведение элементов k-го столбца данной матрицы.

2. Дана матрица размера n×m. Найти суммы элементов всех ее четных1|нечетных2 строк3|столбцов4.

3. Дана матрица размера n×m. Найти минимальное1|максимальное2 значение в каждой строке3|столбце4.

4. Дана матрица размера n×m. В каждой строке1|столбце2 найти количество элементов, больших3|меньших4 среднего арифметического всех элементов этой строки1|столбца2.

5. Дана матрица размера n×m. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке1|столбце2.

6. Дана матрица размера n×m. Найти минимальное1|максимальное2 значение среди сумм элементов всех ее строк3|столбцов4 и номер строки3|столбца4 с этим минимальным1|максимальным2 значением.

7. Дана матрица размера n×m. Найти минимальный1 или максимальный2 среди максимальных1 или минимальных2 элементов каждой строки3 или столбца4.

8. Дана целочисленная матрица размера n×m. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего равное количество положительных и отрицательных элементов (нулевые элементы не учитываются). Если таких строк3|столбцов4 нет, то вывести 0.

9. Дана матрица размера n×m. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего только положительные элементы. Если таких строк3|столбцов4 нет, то вывести 0.

10. Дана целочисленная матрица размера N×M. Различные строки (столбцы) матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках (столбцах). Найти количество строк1|столбцов2, похожих на первую3|последнюю4 строку1|столбец2.

11. Дана целочисленная матрица размера N×M. Найти количество ее строк1|столбцов2, все элементы которых различны.

12. Дана целочисленная матрица размера N×M. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего максимальное количество одинаковых элементов.

13. Дана квадратная матрица порядка N. Найти сумму элементов ее главной1|побочной2 диагонали.

14. Дана квадратная матрица порядка N. Найти суммы элементов ее диагоналей, параллельных главной1|побочной2 (начиная с одноэлементной диагонали A[1,N]1 | A[1,1]2).

15. Дана квадратная матрица порядка I. Вывести минимальные1|максимальные2 из элементов каждой ее диагонали, параллельной главной3|побочной4 (начиная с одноэлементной диагонали A[1,M]3 | A[1,1]4).

16. Дана квадратная матрица порядка M. Заменить нулями элементы матрицы, лежащие ниже1|выше2 главной3|побочной4 диагонали.

17. Дана квадратная матрица порядка M. Заменить нулями элементы, лежащие одновременно выше1|ниже2 главной диагонали (включая эту диагональ) и выше3|ниже4 побочной диагонали (также включая эту диагональ).

18. Дана квадратная матрица порядка M. Зеркально отразить ее элементы относительно [горизонтальной оси симметрии]1|[вертикальной оси симметрии]2|[главной диагонали]3|[побочной диагонали]4 матрицы.

19. Дана квадратная матрица порядка M. Повернуть ее на 901|1802|2703 градусов в положительном направлении.

20. Дана матрица размера N×M. Вывести количество строк1|столбцов2, элементы которых монотонно возрастают3|убывают4.

21. Дана матрица размера N×M. Найти минимальный1|максимальный2 среди элементов тех строк3|столбцов4, которые упорядочены либо по возрастанию, либо по убыванию. Если такие строки3|столбцы4 отсутствуют, то вывести 0.

22. Даны два числа k1 и k2 и матрица размера N×M. Поменять местами строки1|столбцы2 матрицы с номерами k1 и k2.

23. Дана матрица размера N×M. Поменять местами строки1|столбцы2, содержащие минимальный и максимальный элементы матрицы.

24. Дана матрица размера N×M. Поменять местами столбец с номером 11|M2 и первый3|последний4 из столбцов, содержащих только положительные элементы.

25. Дано число k и матрица размера N×M. Удалить строку1|столбец2 матрицы с номером k.

26. Дана матрица размера N×M. Удалить строку1|столбец2, содержащий минимальный3|максимальный4 элемент матрицы.

27. Дана матрица размера N×M. Удалить первый1|последний2|все3 столбцы, содержащие только положительные элементы.

28. Дано число k и матрица размера N×M. Перед1|после2 строки3|столбца4 матрицы с номером k вставить строку3|столбец4 из нулей.

29. Дана матрица размера N×M. Продублировать строку1|столбец2 матрицы, содержащий ее минимальный3|максимальный4 элемент.

30. Дана матрица размера N×M. Перед1|после2 первого3|последнего4 столбца, содержащего только положительные элементы, добавить столбец, состоящий из единиц.

31. Дана целочисленная матрица размера N×M. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. Если такой элемент отсутствует, то вывести 0.

32. Дана матрица размера N×M. Элемент называется локальным минимумом (максимумом), если он меньше (больше) всех окружающих его элементов. Заменить все локальные минимумы1|максимумы2 данной матрицы на 0.

33. Дана матрица размера N×M. Поменять местами ее строки1|столбцы2 так, чтобы их минимальные3|максимальные4 элементы образовывали возрастающую5|убывающую6 последовательность.

34. Даны два упорядоченных по возрастанию массива A и B. Получить из них путем слияния упорядоченный по возрастанию массив C; совпадающие элементы вставлять единожды. Подсчитать количество элементов в массиве C.

35. Из двух упорядоченных по невозрастанию массивов A(m) и B(n) получить путем слияния упорядоченный по убыванию массив C; удаляемые элементы собрать в массиве D. Подсчитать количество элементов в массивах C и D.

36. Путем слияния из возрастающего A(m) и невозрастающего B(n) массивов получить возрастающий массив C (с удалением совпадающих элементов). Подсчитать количество элементов в массиве С.

 

Матрицы

 

1. Дано натуральное число n. Получить вещественную матрицу A, для которой

;

 

2. Дана вещественная матрица A. Получить матрицу A¢=B×C, где

 

3. Получить вещественную матрицу A размерности 7´7, первая строка которой задается формулой a1j = 2j+3, (j = 1, ..., 7), вторая строка задается формулой (j = 1, ..., 7), а каждая следующая строка есть сумма двух предыдущих.

4. Дано натуральное число n и вещественная матрица размера n´n. Найти среднее арифметическое:

a) каждого из столбцов;

b) каждого из столбцов, имеющих четные номера.

5. Дано натуральное число n. Выяснить, сколько положительных элементов содержит матрица A размерности n´n, если

6. Дана действительная матрица размера n´m, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.

7. Даны натуральное число m, числа a1am и целочисленная квадратная матрица порядка m. Строку с номером i назовем отмеченной, если ai > 0, и неотмеченной в противном случае. Нужно все элементы, расположенные в отмеченных строках матрицы, преобразовать по правилу: отрицательные элементы заменить на –1, положительные — на 1, а нулевые оставить без изменения.

8. См. условие задачи 7. Подсчитать число отрицательных элементов матрицы, расположенных в отмеченных строках.

9. Дана вещественная квадратная матрица порядка N. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.

10. Даны вещественные числа x1,…, x8. Получить квадратную матрицу порядка 8, образованную по правилу:

 

 

11. Будем называть соседями элемента с индексами i, j некоторой матрицы такие элементы, индексы которых отличатся от i, j не более чем на единицу. Для данной целочисленной матрицы А (aij) размерности m´m найти матрицу В, состоящую из нулей и единиц, элемент которой bij равен единице, когда среди соседей aij есть не менее двух совпадающих с aij.

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

 

Выполнить следующие задания, используя процедуры и функции.

13. Для заданной вещественной матрицы определить, образуют ли ее элементы упорядоченную последовательность следующего вида:

14. В квадратной матрице определить количество строк

a) упорядоченных по возрастанию;

b) упорядоченных по убыванию;

c) состоящих из равных элементов;

d) неупорядоченных.

Использовать функцию, определяющую свойство каждой строки.

15. Задано конечное множество имен жителей некоторого города, причем для каждого из жителей перечислены имена его детей. Жители А и Б называются родственниками, если:

либо А — ребенок Б

либо Б — ребенок А

либо существует некий В такой, что А является родственником В, а В является родственником Б.

Перечислить все пары жителей города, которые являются родственниками.

16. В матрице А(n´n) определить количество строк, элементы которой образуют арифметическую прогрессию. Использовать подпрограмму проверки строки.

17. В заданной матрице А(n´n) найти максимум из всех минимальных элементов матрицы по столбцам.

18. В заданной матрице А(n´n) найти минимум всех сумм абсолютных величин элементов матрицы по столбцам. Для нахождения суммы абсолютных величин столбца использовать функцию.

19. Подсчитать количество строк матрицы А(n´n), элементы которых образуют монотонную последовательность. Для определения монотонности использовать процедуру.

20. Уплотнить матрицу А(n´n) влево и вверх. Для выявления нулевых строк и столбцов и столбцов использовать подпрограмму.

21. Матрица А(n´n) просматривается сверху вниз про строкам. Найти скалярное произведение строки и столбца, соответствующих строке с первым найденным отрицательным элементом и последним нулевым.

22. Упорядочить строки матрицы A(m, n) по неубыванию суммы элементов строк.

23. Упорядочить строки матрицы A(m, n) по неубыванию их евклидовых норм.

24. Упорядочить строки матрицы A(m, n) по неубыванию количества их нечетных элементов.

25. Упорядочить строки матрицы A(m, n) по неубыванию сумм цифр элементов строк.

26. Проверить, есть ли в матрице А(n´n) строки, не содержащие более двух отрицательных элементов.

27. Дана матрица А(n´n). Построить вектор, каждый элемент которого содержит наименьший по абсолютной величине элемент строки.

28. Составить программу поиска минимального элемента, расположенного под главной диагональю, и максимального элемента, расположенного над главной диагональю заданной вещественной матрицы А(n´n).

29. Заполнить квадратную матрицу N×N следующим образом: элементы, расположенные на главной диагонали, принять равными 1; выше главной диагонали — сумме индексов; ниже — их разности.

30. Заполнить квадратную матрицу N×N единицами и нулями в шахматном порядке, начиная с верхнего левого угла.

31. Дана матрица N×M. Определить сумму элементов, кратных 3, и количество отрицательных элементов.

32. Задана квадратная матрица N×N. Определить, где больше четных элементов: выше или ниже главной диагонали.

33. Дана квадратная целочисленная матрица N×N. Найти суммы элементов строк, имеющих четные элементы на главной диагонали.

34. Даны две квадратных матрицы A(N×N) и B(M×M). Определить сумму элементов, расположенных на главных диагоналях.

35. Дана матрица N×M. Определить четные элементы, имеющие нечетную сумму индексов. Показать индексы этих элементов.

36. Задана квадратная матрица N×N. Найти суммы элементов тех строк, у которых элементы, расположенные на главной диагонали, равны нулю.

37. Дана действительная квадратная матрица N×N. Найти максимальный элемент на главной диагонали и вывести строку, в которой он находится.

38. Задана квадратная матрица N×N. Найти номер столбца К и строки L с максимальным произведением. Сформировать вектор В (2n), нечетные элементы которого равны сумме, а четные — разности элементов К-го столбца и L-й строки матрицы.

39. В матрице A(N×M) найти строку с максимальной суммой элементов и строку с минимальной суммой элементов. Далее сформировать вектор B(2×M), элементы которого чередовались бы с элементами максимальной и минимальной строк.

40. Дана действительная квадратная матрица N×N. Требуется переставить строки матрицы по возрастанию первых элементов строк.

41. Дана действительная квадратная матрица N×N. Требуется преобразовать матрицу: поэлементно вычесть последнюю строку из всех строк, кроме последней.

42. Задана прямоугольная матрица A(N×M). Найти k — номер строки с максимальной суммой элементов. Далее сформировать матрицу B(N×M), каждый элемент строки которой равнялся бы элементу соответствующей строки матрицы А, деленному на соответствующий элемент k-й строки.

43. Дана квадратная матрица A(N×N). За один просмотр элементов матрицы A(N×N) сформировать вектор С(N), каждый j-й элемент которого равен произведению элементов j-го столбца исходной матрицы, и вектор D(N), каждый j-й элемент которого равен сумме соответствующей строки матрицы А.

44. Задана квадратная матрица A(N×N). Найти k — номер столбца с максимальной суммой элементов и номер строки l c минимальной суммой элементов, а также элемент с минимальным значением в матрице А. Далее сформировать вектор Р(N), каждый элемент которого равен разности соответствующих элементов k-столбца и l‑строки, деленной на минимальный элемент матрицы А.

45. Задана квадратная матрица A(5×5). Сформировать вектор x(5), каждый элемент которого равен наибольшему значению элементов соответствующей строки исходной матрицы. Вычислить x1x5+ x2x4+ x3x3+ x4x2+ x5x1.

46. В данной целочисленной квадратной матрице A(N×N) указать индексы всех элементов, имеющих наибольшее значение.

47. Даны две прямоугольные матрицы A(N×M) и B(N×M). Найти матрицу C(N×M), элементы которой равны сумме соответствующих элементов матриц А и В, после чего произвести транспонирование полученной матрицы С.

48. Дана квадратная матрица A(N×N). За один просмотр найти строку с минимальной суммой элементов и строку с максимальной суммой элементов и образовать произведение этих строк.

 

Множества

1. Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 1..100. Известно, что мощность каждого из этих множеств равна 10.

Сформировать новое множество Y=(Х1 È Х2) (Х2\ Х3), из которого выделить подмножество нечетных чисел. На экран вывести исходные и полученное множества. Значения элементов исходных множеств ввести с клавиатуры.

2. Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 1..100. Известно, что мощность каждого из этих множеств равна 10.

Сформировать новое множество Y=(Х1 È Х2) (Х2 × Х3) и вывести на экран его мощность. Проверить, есть ли в множестве Y числа, делящиеся на 6 без остатка. Значения элементов исходных множеств ввести с клавиатуры.

3. Даны два множества М и N, состоящие из 10 целых чисел из диапазона 1..100. Из данных множеств выделить соответственно подмножества М1 чисел, делящихся на 3 без остатка, и N1 чисел, делящихся на 2 без остатка. На печать вывести мощность и значения элементов множества MN= М1 È N1.

4. Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 100...200. Известно, что мощность каждого из этих множеств равна 10.

Сформировать новое множество Y=( Х1 Х2) (Х1 Х3). На печать вывести множества Х1, Х2, Х3 и Y.

5. Даны три множества Х1= {1,2,3,...,20}, Х2= {10,20,30,...,300} и Х3= {1,3,5,...,19,21}. Сформировать множество Y= (Х1 +Х2) (Х1 +Х3) (Х2 +Х3), из которого выделить подмножество Y1 чисел, делящихся на 4 без остатка. На печать вывести множество Y и мощность множества Y1. Исходные множества ввести с клавиатуры.



rr;