Задачи на матрицы

Задачи по программированию

матрицы

Матрицы

содержание сборника задач

  1. Cоздать матрицу 3 x 4, заполнить ее числами 0 и 1 так, чтобы в одной строке была ровно одна единица, и вывести на экран.
  2. Создать и вывести на экран матрицу 2 x 3, заполненную случайными числами из [0, 9].
  3. Дана матрица. Вывести на экран первый и последний столбцы.
  4. Дана матрица. Вывести на экран первую и последнюю строки.
  5. Дана матрица. Вывести на экран все четные строки, то есть с четными номерами.
  6. Дана матрица. Вывести на экран все нечетные столбцы, у которых первый элемент больше последнего.
  7. Дан двухмерный массив 5×5. Найти сумму модулей отрицательных нечетных элементов.
  8. Дан двухмерный массив n×m элементов. Определить, сколько раз встречается число 7 среди элементов массива.
  9. Дана квадратная матрица. Вывести на экран элементы, стоящие на диагонали.
  10. Дана матрица. Вывести k-ю строку и p-й столбец матрицы.
  11. Дана матрица размера m x n. Вывести ее элементы в следующем порядке: первая строка справа налево, вторая строка слева направо, третья строка справа налево и так далее.
  12. Создать матрицу, состоящую из нулей, за исключением элементов, которые находятся в крайних столбцах и строках - они равны единице.
  13. Создать квадратную матрицу, на диагонали которой находятся тройки, выше диагонали находятся двойки, остальные элементы равна единице.
  14. Создать квадратную матрицу из случайных чисел из [0, 9], на побочной диагонали которой находятся единицы.
  15. Сформировать матрицу n x m, состоящую из нулей и единиц, причем единицы находятся только в угловых клетках.
  16. Сформировать квадратную матрицу n x n, на диагонали которой находятся случайные числа из диапазона [1; 9], а остальные числа равны 1.
  17.  Заполнить матрицу так, чтобы сумма элементов в каждой строке была равна номеру этой строки.
  18. Дана целочисленная матрица размера 5×5. Переставить местами 4 и 5 строку.
  19. Сформировать матрицу, состоящую из нулей и единиц, причем количество единиц строго равно количеству строк.
  20. Даны положительные целые числа m, n и набор из m чисел. Сформировать матрицу размера m x n, у которой в каждом столбце содержатся все числа из исходного набора (в том же порядке).
  21. Сформировать матрицу, в каждой строке которой находится ровно один ноль на случайном месте.
  22. Сформировать случайную матрицу m x n, состоящую из нулей и единиц, причем в каждом столбце число единиц равно номеру столбца.
  23. Найдите сумму всех элементов матрицы.
  24. В произвольной матрице отсортировать по убыванию элементы строк, расположенные после второго отрицательного числа.
  25. В данной матрице найти наименьший элемент в каждой строке.
  26. В матрице поменять местами первую и последнюю строки.
  27. Найти количество строк матрицы, числа в которых возрастают.
  28. В матрице найти номер строки, в которой произведение чисел минимально.
  29. Удалить строку матрицы, в которой количество нулей максимально.
  30. Найдите наибольший элемент матрицы и заменить все нечетные элементы на него.
  31.  Для данной матрицы найдите транспонированную матрицу.
  32.  Поменять местами столбцы матрицы так, чтобы элементы первой строки оказались упорядоченными.
  33. В каждой строке найти наибольший элемент. Из этих элементов найти наименьший и удалить ту строку, которой он принадлежит.
  34. Найдите произведение двух данных матриц.
  35.  Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и ниже побочной диагонали.
  36. Дана матрица, содержащая как положительные, так и отрицательные элементы. Удалить все ее столбцы, содержащие только положительные элементы.
  37. Дана квадратная матрица. Сформировать новую матрицу, полученную из исходной путем поворота относительно центра на 90о по часовой стрелке.
  38. В матрице удалить столбцы с максимальным и минимальным элементами матрицы, а затем на место первого добавить столбец из произведений элементов соответствующих строк.
  39.  Cформировать массив из элементов в седловых точках матриц. В седловой точке элемент является минимальным в строке и максимальным в столбце.
  40. Дана целочисленная квадратная матрица. Указать столбец (назвать его номер) c минимальным количеством элементов, кратных сумме индексов.
  41. Удалите строки матрицы, не имеющие ни одного повторяющегося элемента.
  42. Дана целочисленная прямоугольная матрица размера n x m. Сформировать одномерный массив, состоящий из элементов, лежащих на отрезке [a,b]. Найти среднее арифметическое полученного одномерного массива.
  43. Характеристикой строки матрицы назовём сумму её отрицательных четных элементов. Расположить строки в соответствии с убыванием характеристик.
  44. Матрицу m x n заполнить натуральными числами от 1 до mn по спирали, начинающейся в левом верхнем углу и закрученной по часовой стрелке.
  45. Матрицу m x n заполнить натуральными числами от 1 до mn по спирали, начинающейся в левом верхнем углу и закрученной против часовой стрелки.
  46. Куб состоит из n^3 прозрачных и непрозрачных элементарных кубиков. Имеется ли хотя бы один просвет по каждому из трех измерений? Если это так, вывести координаты каждого просвета.
  47. В каждом столбце и каждой строке матрицы содержится строго по одному нулевому элементу. Перестановкой строк добиться расположения всех нулей на главной диагонали матрицы. Написать функцию генерации исходной матрицы.
  48. Дана целочисленная матрица размера n × m, элементы которой могут принимать значения от 0 до 100. Различные строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество строк, похожих на первую строку данной матрицы.
  49. Дана квадратная матрица, состоящая из натуральных чисел. Зеркально отразить ее элементы относительно побочной диагонали. Вывести результат на экран.
  50. Найти максимальный среди элементов тех столбцов, которые упорядочены либо по возрастанию, либо по убыванию. Если упорядоченные столбцы в матрице отсутствуют, то вывести 0.
  51. Латинским квадратом порядка n называется квадратная матрица размером n x n, каждая строка и каждый столбец которой содержат все числа от 1 до n. Проверить, является ли заданная матрица латинским квадратом.

  52. Магическим квадратом порядка n называется квадратная матрица размером n x n, состоящая из чисел 1, 2, ..., n^2 так, что суммы по каждому столбцу, каждой строке и каждой из двух диагоналей равны между собой. Проверить, является ли заданная  квадратная матрица  магическим квадратом. Написать функцию генерации магического квадрата.
  53. В трехмерном массиве m x n x p, состоящем из нулей и единиц, хранится сеточное изображение некоторого трехмерного тела. Найдите в двумерных массивах три проекции (тени) этого тела.
  54. Поле размером m x n заполнено прозрачными и непрозрачными кубиками. Найдите все столбцы поля, все непрозрачные кубики которых невидимы для наблюдателя, расположенного слева.
  55. Матрица состоит из нулей и единиц. Найдите в ней самую длинную цепочку подряд идущих нулей по горизонтали, вертикали или диагонали.
  56. Найдите все числа в матрице, каждое из которых встречается в каждой строке матрицы.
  57. Клеточное поле размером m x n является результатом игры в крестики-нолики. Проверить, не закончена ли игра выигрышем "крестиков". Выигрыш наступает при образовании цепочки по горизонтали, вертикали или диагонали из 5 крестиков подряд.
  58. В матрице, состоящей из нулей и единиц, найдите квадрат (квадратная подматрица) наибольшего размера, состоящая только из нулей.
  59. Две строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках. Найдите все пары похожих строк в заданной матрице.
  60. Найдите определитель данной квадратной матрицы методом Гаусса.
  61. Найдите матрицу, обратную данной матрицы методом Гаусса.
  62. Переставить все элементы данной матрицы случайным образом. Модифицировать алгоритм с учетом требования, чтобы каждый элемент обязательно оказался на новом месте.
  63. Переставить строки матрицы случайным образом.
  64. Расположите на шахматной доске случайным образом k\leq 8 слонов так, чтобы они не угрожали друг другу (слон бьет по диагонали).
  65. Сформировать случайным образом начальную позицию кораблей для игры "морской бой" (всего 15 кораблей, один 5-палубный, два 4-палубных, три 3-палубных, четыре 2-палубных, пять 1-палубных) на поле 10х10 так, чтобы они не касались друг друга.
  66. Решить данную систему линейных алгебраических уравнений  методом Гаусса.
  67. Решить данную систему линейных алгебраических уравнений методом прогонки.
  68. Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое соседей соответствующего элемента исходной матрицы. Построить результат сглаживания заданной матрицы
  69. Определить, является ли матрица симметричной (относительно главной диагонали). Найти максимальный элемент среди стоящих на главной и побочной диагонали и поменять его местами с элементом, стоящим на пересечении этих диагоналей.
  70. Дана матрица a размером n x n, заполненная неотрицательными целыми числами. Расстояние между двумя элементами a_{ij} и a_{pq} определено как |i-p|+|j-q|. Требуется заменить каждый нулевой элемент матрицы ближайшим ненулевым. Если есть две или больше ближайших ненулевых ячейки, нуль должен быть оставлен.
  71. Прямоугольный садовый участок шириной n и длиной m метров разбит на квадраты со стороной 1 м. На этом участке вскопаны грядки. Грядкой называется совокупность квадратов, удовлетворяющая таким условиям: 1) из любого квадрата этой грядки можно попасть в любой другой квадрат этой же грядки, последовательно переходя по грядке из квадрата в квадрат через их общую сторону; 2) никакие две грядки не пересекаются и не касаются друг друга ни по вертикальной, ни по горизонтальной сторонам квадратов (касание грядок углами квадратов допускается). Подсчитайте количество грядок на садовом участке.
  72. В прямоугольной матрице выявить все подматрицы, в углах которых расположены элементы, из которых можно образовать геометрическую прогрессию.
  73. В прямоугольной матрице выявить все квадратные подматрицы, симметричные относительно главной диагонали.
  74. Из прямоугольного листа клетчатой бумаги (m строк, n столбцов) удалили некоторые клетки. На сколько кусков распадется оставшаяся часть листа? Две клетки не распадаются, если они имеют общую сторону.
  75. В таблице из n строк и n столбцов некоторые клетки заняты шариками, другие свободны. Выбран шарик, который нужно переместить, и место, куда его нужно переместить. Выбранный шарик за один шаг перемещается в соседнюю по горизонтали или вертикали свободную клетку. Требуется выяснить, возможно ли переместить шарик из начальной клетки в заданную, и если возможно, то найти путь из наименьшего количества шагов.
  76. Дана матрица n х n, заполненная положительными числами. Путь по матрице начинается в левом верхнем углу. За один ход можно пройти в соседнюю по вертикали или горизонтали клетку (если она существует). Нельзя ходить по диагонали, нельзя оставаться на месте. Требуется найти максимальную сумму чисел, стоящих в клетках по пути длиной К (клетку можно посещать несколько раз).
  77. В таблице из n строк и m столбцов клетки заполнены цифрами от 0 до 9. Требуется найти такой путь из клетки (1,1) в клетку (n, m), чтобы сумма цифр в клетках, через которые он пролегает, была минимальной; из любой клетки ходить можно только вниз или вправо.
  78. Решить систему линейных алгебраических уравнений методом Холецкого.
  79. Магический квадрат - то квадратная таблица n x n, заполненная n2 числами, таким образом, что сумма чисел в каждой строке, каждом столбце и на обеих диагоналях оказывается одинаковой. Нормальный магический квадрат - это магический квадрат, заполненный целыми числами от 1 до n2. Квадрат, заполненный числами от 1 до n2, называется полумагическим, если сумма чисел по горизонталям и вертикалям равна магической постоянной, а по диагоналям это условие не выполняется.  Aссоциативный( или симметричный) магический квадрат - это магический квадрат, у которого сумма любых двух чисел, симметрично расположенных относительно центра квадрата, равна одному и тому же числу: 1+n2. Напишите генераторы таких квадратов (хотя бы для некоторых значений n).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *