Задачи по программированию
Матрицы
- Cоздать матрицу 3 x 4, заполнить ее числами 0 и 1 так, чтобы в одной строке была ровно одна единица, и вывести на экран.
- Создать и вывести на экран матрицу 2 x 3, заполненную случайными числами из [0, 9].
- Дана матрица. Вывести на экран первый и последний столбцы.
- Дана матрица. Вывести на экран первую и последнюю строки.
- Дана матрица. Вывести на экран все четные строки, то есть с четными номерами.
- Дана матрица. Вывести на экран все нечетные столбцы, у которых первый элемент больше последнего.
- Дан двухмерный массив 5×5. Найти сумму модулей отрицательных нечетных элементов.
- Дан двухмерный массив n×m элементов. Определить, сколько раз встречается число 7 среди элементов массива.
- Дана квадратная матрица. Вывести на экран элементы, стоящие на диагонали.
- Дана матрица. Вывести k-ю строку и p-й столбец матрицы.
- Дана матрица размера m x n. Вывести ее элементы в следующем порядке: первая строка справа налево, вторая строка слева направо, третья строка справа налево и так далее.
- Создать матрицу, состоящую из нулей, за исключением элементов, которые находятся в крайних столбцах и строках - они равны единице.
- Создать квадратную матрицу, на диагонали которой находятся тройки, выше диагонали находятся двойки, остальные элементы равна единице.
- Создать квадратную матрицу из случайных чисел из [0, 9], на побочной диагонали которой находятся единицы.
- Сформировать матрицу n x m, состоящую из нулей и единиц, причем единицы находятся только в угловых клетках.
- Сформировать квадратную матрицу n x n, на диагонали которой находятся случайные числа из диапазона [1; 9], а остальные числа равны 1.
- Заполнить матрицу так, чтобы сумма элементов в каждой строке была равна номеру этой строки.
- Дана целочисленная матрица размера 5×5. Переставить местами 4 и 5 строку.
- Сформировать матрицу, состоящую из нулей и единиц, причем количество единиц строго равно количеству строк.
- Даны положительные целые числа m, n и набор из m чисел. Сформировать матрицу размера m x n, у которой в каждом столбце содержатся все числа из исходного набора (в том же порядке).
- Сформировать матрицу, в каждой строке которой находится ровно один ноль на случайном месте.
- Сформировать случайную матрицу m x n, состоящую из нулей и единиц, причем в каждом столбце число единиц равно номеру столбца.
- Найдите сумму всех элементов матрицы.
- В произвольной матрице отсортировать по убыванию элементы строк, расположенные после второго отрицательного числа.
- В данной матрице найти наименьший элемент в каждой строке.
- В матрице поменять местами первую и последнюю строки.
- Найти количество строк матрицы, числа в которых возрастают.
- В матрице найти номер строки, в которой произведение чисел минимально.
- Удалить строку матрицы, в которой количество нулей максимально.
- Найдите наибольший элемент матрицы и заменить все нечетные элементы на него.
- Для данной матрицы найдите транспонированную матрицу.
- Поменять местами столбцы матрицы так, чтобы элементы первой строки оказались упорядоченными.
- В каждой строке найти наибольший элемент. Из этих элементов найти наименьший и удалить ту строку, которой он принадлежит.
- Найдите произведение двух данных матриц.
- Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и ниже побочной диагонали.
- Дана матрица, содержащая как положительные, так и отрицательные элементы. Удалить все ее столбцы, содержащие только положительные элементы.
- Дана квадратная матрица. Сформировать новую матрицу, полученную из исходной путем поворота относительно центра на 90о по часовой стрелке.
- В матрице удалить столбцы с максимальным и минимальным элементами матрицы, а затем на место первого добавить столбец из произведений элементов соответствующих строк.
- Cформировать массив из элементов в седловых точках матриц. В седловой точке элемент является минимальным в строке и максимальным в столбце.
- Дана целочисленная квадратная матрица. Указать столбец (назвать его номер) c минимальным количеством элементов, кратных сумме индексов.
- Удалите строки матрицы, не имеющие ни одного повторяющегося элемента.
- Дана целочисленная прямоугольная матрица размера n x m. Сформировать одномерный массив, состоящий из элементов, лежащих на отрезке [a,b]. Найти среднее арифметическое полученного одномерного массива.
- Характеристикой строки матрицы назовём сумму её отрицательных четных элементов. Расположить строки в соответствии с убыванием характеристик.
- Матрицу m x n заполнить натуральными числами от 1 до mn по спирали, начинающейся в левом верхнем углу и закрученной по часовой стрелке.
- Матрицу m x n заполнить натуральными числами от 1 до mn по спирали, начинающейся в левом верхнем углу и закрученной против часовой стрелки.
- Куб состоит из прозрачных и непрозрачных элементарных кубиков. Имеется ли хотя бы один просвет по каждому из трех измерений? Если это так, вывести координаты каждого просвета.
- В каждом столбце и каждой строке матрицы содержится строго по одному нулевому элементу. Перестановкой строк добиться расположения всех нулей на главной диагонали матрицы. Написать функцию генерации исходной матрицы.
- Дана целочисленная матрица размера n × m, элементы которой могут принимать значения от 0 до 100. Различные строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество строк, похожих на первую строку данной матрицы.
- Дана квадратная матрица, состоящая из натуральных чисел. Зеркально отразить ее элементы относительно побочной диагонали. Вывести результат на экран.
- Найти максимальный среди элементов тех столбцов, которые упорядочены либо по возрастанию, либо по убыванию. Если упорядоченные столбцы в матрице отсутствуют, то вывести 0.
- Латинским квадратом порядка n называется квадратная матрица размером n x n, каждая строка и каждый столбец которой содержат все числа от 1 до n. Проверить, является ли заданная матрица латинским квадратом.
- Магическим квадратом порядка n называется квадратная матрица размером n x n, состоящая из чисел 1, 2, ..., так, что суммы по каждому столбцу, каждой строке и каждой из двух диагоналей равны между собой. Проверить, является ли заданная квадратная матрица магическим квадратом. Написать функцию генерации магического квадрата.
- В трехмерном массиве m x n x p, состоящем из нулей и единиц, хранится сеточное изображение некоторого трехмерного тела. Найдите в двумерных массивах три проекции (тени) этого тела.
- Поле размером m x n заполнено прозрачными и непрозрачными кубиками. Найдите все столбцы поля, все непрозрачные кубики которых невидимы для наблюдателя, расположенного слева.
- Матрица состоит из нулей и единиц. Найдите в ней самую длинную цепочку подряд идущих нулей по горизонтали, вертикали или диагонали.
- Найдите все числа в матрице, каждое из которых встречается в каждой строке матрицы.
- Клеточное поле размером m x n является результатом игры в крестики-нолики. Проверить, не закончена ли игра выигрышем "крестиков". Выигрыш наступает при образовании цепочки по горизонтали, вертикали или диагонали из 5 крестиков подряд.
- В матрице, состоящей из нулей и единиц, найдите квадрат (квадратная подматрица) наибольшего размера, состоящая только из нулей.
- Две строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках. Найдите все пары похожих строк в заданной матрице.
- Найдите определитель данной квадратной матрицы методом Гаусса.
- Найдите матрицу, обратную данной матрицы методом Гаусса.
- Переставить все элементы данной матрицы случайным образом. Модифицировать алгоритм с учетом требования, чтобы каждый элемент обязательно оказался на новом месте.
- Переставить строки матрицы случайным образом.
- Расположите на шахматной доске случайным образом слонов так, чтобы они не угрожали друг другу (слон бьет по диагонали).
- Сформировать случайным образом начальную позицию кораблей для игры "морской бой" (всего 15 кораблей, один 5-палубный, два 4-палубных, три 3-палубных, четыре 2-палубных, пять 1-палубных) на поле 10х10 так, чтобы они не касались друг друга.
- Решить данную систему линейных алгебраических уравнений методом Гаусса.
- Решить данную систему линейных алгебраических уравнений методом прогонки.
- Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое соседей соответствующего элемента исходной матрицы. Построить результат сглаживания заданной матрицы
- Определить, является ли матрица симметричной (относительно главной диагонали). Найти максимальный элемент среди стоящих на главной и побочной диагонали и поменять его местами с элементом, стоящим на пересечении этих диагоналей.
- Дана матрица a размером n x n, заполненная неотрицательными целыми числами. Расстояние между двумя элементами и определено как . Требуется заменить каждый нулевой элемент матрицы ближайшим ненулевым. Если есть две или больше ближайших ненулевых ячейки, нуль должен быть оставлен.
- Прямоугольный садовый участок шириной n и длиной m метров разбит на квадраты со стороной 1 м. На этом участке вскопаны грядки. Грядкой называется совокупность квадратов, удовлетворяющая таким условиям: 1) из любого квадрата этой грядки можно попасть в любой другой квадрат этой же грядки, последовательно переходя по грядке из квадрата в квадрат через их общую сторону; 2) никакие две грядки не пересекаются и не касаются друг друга ни по вертикальной, ни по горизонтальной сторонам квадратов (касание грядок углами квадратов допускается). Подсчитайте количество грядок на садовом участке.
- В прямоугольной матрице выявить все подматрицы, в углах которых расположены элементы, из которых можно образовать геометрическую прогрессию.
- В прямоугольной матрице выявить все квадратные подматрицы, симметричные относительно главной диагонали.
- Из прямоугольного листа клетчатой бумаги (m строк, n столбцов) удалили некоторые клетки. На сколько кусков распадется оставшаяся часть листа? Две клетки не распадаются, если они имеют общую сторону.
- В таблице из n строк и n столбцов некоторые клетки заняты шариками, другие свободны. Выбран шарик, который нужно переместить, и место, куда его нужно переместить. Выбранный шарик за один шаг перемещается в соседнюю по горизонтали или вертикали свободную клетку. Требуется выяснить, возможно ли переместить шарик из начальной клетки в заданную, и если возможно, то найти путь из наименьшего количества шагов.
- Дана матрица n х n, заполненная положительными числами. Путь по матрице начинается в левом верхнем углу. За один ход можно пройти в соседнюю по вертикали или горизонтали клетку (если она существует). Нельзя ходить по диагонали, нельзя оставаться на месте. Требуется найти максимальную сумму чисел, стоящих в клетках по пути длиной К (клетку можно посещать несколько раз).
- В таблице из n строк и m столбцов клетки заполнены цифрами от 0 до 9. Требуется найти такой путь из клетки (1,1) в клетку (n, m), чтобы сумма цифр в клетках, через которые он пролегает, была минимальной; из любой клетки ходить можно только вниз или вправо.
- Решить систему линейных алгебраических уравнений методом Холецкого.
- Магический квадрат - то квадратная таблица n x n, заполненная n2 числами, таким образом, что сумма чисел в каждой строке, каждом столбце и на обеих диагоналях оказывается одинаковой. Нормальный магический квадрат - это магический квадрат, заполненный целыми числами от 1 до n2. Квадрат, заполненный числами от 1 до n2, называется полумагическим, если сумма чисел по горизонталям и вертикалям равна магической постоянной, а по диагоналям это условие не выполняется. Aссоциативный( или симметричный) магический квадрат - это магический квадрат, у которого сумма любых двух чисел, симметрично расположенных относительно центра квадрата, равна одному и тому же числу: 1+n2. Напишите генераторы таких квадратов (хотя бы для некоторых значений n).