Пятница, 26.04.2024, 03:43
Сайт Электронных задачников по программированию
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Вход

Часы
Get Adobe Flash player

Поиск

Soft

Главная » Статьи » Мои статьи

Двумерные массивы (матрицы)

Двумерные массивы (матрицы)

Условие вида «дана матрица размера M × N» означает, что вначале дается фактический размер двумерного массива-матрицы (количество строк M и количество столбцов N), а затем приводятся элементы этого массива (количество элементов равно M·N). Если в задании явно не указывается, какие значения могут принимать размеры исходной матрицы, то предполагается, что и число строк, и число столбцов может изменяться в пределах от 2 до 10. Начальные значения как первого, так и второго индекса двумерного массива-матрицы всегда считаются равными 1. Ввод и вывод элементов матрицы осуществляются по строкам.

Квадратной матрицей порядка M называется двумерный массив-матрица размера M × M.

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

Двумерные массивы (матрицы): формирование

При выполнении заданий на формирование матриц можно считать, что размер результирующей матрицы не превосходит 10 × 10.

Matrix1.[Pascal] [C#] [VB.NET] Даны целые положительные числа M и N. Сформировать целочисленную матрицу размера M × N, у которой все элементы I-й строки имеют значение 10·I (I = 1, …, M).

Matrix2.[Pascal] [C#] [VB.NET] Даны целые положительные числа M и N. Сформировать целочисленную матрицу размера M × N, у которой все элементы J-го столбца имеют значение 5·J (J = 1, …, N).

Matrix3.[Pascal] [C#] [VB.NET] Даны целые положительные числа M, N и набор из M чисел. Сформировать матрицу размера M × N, у которой в каждом столбце содержатся все числа из исходного набора (в том же порядке).

Matrix4.[Pascal] [C#] [VB.NET] Даны целые положительные числа M, N и набор из N чисел. Сформировать матрицу размера M × N, у которой в каждой строке содержатся все числа из исходного набора (в том же порядке).

Matrix5.[Pascal] [C#] [VB.NET] Даны целые положительные числа M, N, число D и набор из M чисел. Сформировать матрицу размера M × N, у которой первый столбец совпадает с исходным набором чисел, а элементы каждого следующего столбца равны сумме соответствующего элемента предыдущего столбца и числа D (в результате каждая строка матрицы будет содержать элементы арифметической прогрессии).

Matrix6.[Pascal] [C#] [VB.NET] Даны целые положительные числа M, N, число D и набор из N чисел. Сформировать матрицу размера M × N, у которой первая строка совпадает с исходным набором чисел, а элементы каждой следующей строки равны соответствующему элементу предыдущей строки, умноженному на D (в результате каждый столбец матрицы будет содержать элементы геометрической прогрессии).

Двумерные массивы (матрицы): вывод элементов

Matrix7°.[Pascal] [C#] [VB.NET] Дана матрица размера M × N и целое число K (1 ≤ K ≤ M). Вывести элементы K-й строки данной матрицы.

Matrix8.[Pascal] [C#] [VB.NET] Дана матрица размера M × N и целое число K (1 ≤ K ≤ N). Вывести элементы K-го столбца данной матрицы.

Matrix9.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Вывести ее элементы, расположенные в строках с четными номерами (2, 4, …). Вывод элементов производить по строкам, условный оператор не использовать.

Matrix10.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Вывести ее элементы, расположенные в столбцах с нечетными номерами (1, 3, …). Вывод элементов производить по столбцам, условный оператор не использовать.

Matrix11.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Вывести ее элементы в следующем порядке: первая строка слева направо, вторая строка справа налево, третья строка слева направо, четвертая строка справа налево и т. д.

Matrix12.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Вывести ее элементы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх, третий столбец сверху вниз, четвертый столбец снизу вверх и т. д.

Matrix13.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Начиная с элемента A1,1, вывести ее элементы следующим образом («уголками»): все элементы первой строки; элементы последнего столбца, кроме первого (уже выведенного) элемента; оставшиеся элементы второй строки; оставшиеся элементы предпоследнего столбца и т. д.; последним выводится элемент AM,1.

Matrix14.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Начиная с элемента A1,1, вывести ее элементы следующим образом («уголками»): все элементы первого столбца; элементы последней строки, кроме первого (уже выведенного) элемента; оставшиеся элементы второго столбца; оставшиеся элементы предпоследней строки и т. д.; последним выводится элемент A1,M.

Matrix15.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1,1 и перемещаясь по часовой стрелке, вывести все ее элементы по спирали: первая строка, последний столбец, последняя строка в обратном порядке, первый столбец в обратном порядке, оставшиеся элементы второй строки и т. д.; последним выводится центральный элемент матрицы.

Matrix16.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1,1 и перемещаясь против часовой стрелки, вывести все ее элементы по спирали: первый столбец, последняя строка, последний столбец в обратном порядке, первая строка в обратном порядке, оставшиеся элементы второго столбца и т. д.; последним выводится центральный элемент матрицы.

Двумерные массивы (матрицы): анализ элементов

Matrix17.[Pascal] [C#] [VB.NET] Дана матрица размера M × N и целое число K (1 ≤ K ≤ M). Найти сумму и произведение элементов K-й строки данной матрицы.

Matrix18.[Pascal] [C#] [VB.NET] Дана матрица размера M × N и целое число K (1 ≤ K ≤ N). Найти сумму и произведение элементов K-го столбца данной матрицы.

Matrix19.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Для каждой строки матрицы найти сумму ее элементов.

Matrix20.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Для каждого столбца матрицы найти произведение его элементов.

Matrix21.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Для каждой строки матрицы с нечетным номером (1, 3, …) найти среднее арифметическое ее элементов. Условный оператор не использовать.

Matrix22.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Для каждого столбца матрицы с четным номером (2, 4, …) найти сумму его элементов. Условный оператор не использовать.

Matrix23.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. В каждой строке матрицы найти минимальный элемент.

Matrix24°.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. В каждом столбце матрицы найти максимальный элемент.

Matrix25.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы.

Matrix26.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Найти номер ее столбца с наименьшим произведением элементов и вывести данный номер, а также значение наименьшего произведения.

Matrix27.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Найти максимальный среди минимальных элементов ее строк.

Matrix28.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Найти минимальный среди максимальных элементов ее столбцов.

Matrix29.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. В каждой ее строке найти количество элементов, меньших среднего арифметического всех элементов этой строки.

Matrix30.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. В каждом ее столбце найти количество элементов, больших среднего арифметического всех элементов этого столбца.

Matrix31.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему значению всех ее элементов.

Matrix32.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N. Найти номер первой из ее строк, содержащих равное количество положительных и отрицательных элементов (нулевые элементы матрицы не учитываются). Если таких строк нет, то вывести 0.

Matrix33.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N. Найти номер последнего из ее столбцов, содержащих равное количество положительных и отрицательных элементов (нулевые элементы матрицы не учитываются). Если таких столбцов нет, то вывести 0.

Matrix34.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N. Найти номер последней из ее строк, содержащих только четные числа. Если таких строк нет, то вывести 0.

Matrix35.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N. Найти номер первого из ее столбцов, содержащих только нечетные числа. Если таких столбцов нет, то вывести 0.

Matrix36°.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N, элементы которой могут принимать значения от 0 до 100. Различные строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество строк, похожих на первую строку данной матрицы.

Matrix37.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N, элементы которой могут принимать значения от 0 до 100. Различные столбцы матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих столбцах. Найти количество столбцов, похожих на последний столбец данной матрицы.

Matrix38.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N. Найти количество ее строк, все элементы которых различны.

Matrix39.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N. Найти количество ее столбцов, все элементы которых различны.

Matrix40.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N. Найти номер последней из ее строк, содержащих максимальное количество одинаковых элементов.

Matrix41.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N. Найти номер первого из ее столбцов, содержащих максимальное количество одинаковых элементов.

Matrix42.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Найти количество ее строк, элементы которых упорядочены по возрастанию.

Matrix43.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Найти количество ее столбцов, элементы которых упорядочены по убыванию.

Matrix44.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Найти минимальный среди элементов тех строк, которые упорядочены либо по возрастанию, либо по убыванию. Если упорядоченные строки в матрице отсутствуют, то вывести 0.

Matrix45.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Найти максимальный среди элементов тех столбцов, которые упорядочены либо по возрастанию, либо по убыванию. Если упорядоченные столбцы в матрице отсутствуют, то вывести 0.

Matrix46.[Pascal] [C#] [VB.NET] Дана целочисленная матрица размера M × N. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. Если такой элемент отсутствует, то вывести 0.

Двумерные массивы (матрицы): преобразование

При выполнении заданий на преобразование матриц не следует использовать вспомогательные двумерные массивы-матрицы, за исключением тех заданий, в которых явно сказано о допустимости применения вспомогательных матриц.

Matrix47.[Pascal] [C#] [VB.NET] Дана матрица размера M × N и целые числа K1 и K2 (1 ≤ K1 < K2 ≤ M). Поменять местами строки матрицы с номерами K1 и K2.

Matrix48.[Pascal] [C#] [VB.NET] Дана матрица размера M × N и целые числа K1 и K2 (1 ≤ K1 < K2 ≤ N). Поменять местами столбцы матрицы с номерами K1 и K2.

Matrix49.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.

Matrix50.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце.

Matrix51.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Поменять местами строки, содержащие минимальный и максимальный элементы матрицы.

Matrix52.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Поменять местами столбцы, содержащие минимальный и максимальный элементы матрицы.

Matrix53°.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Поменять местами столбец с номером 1 и последний из столбцов, содержащих только положительные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.

Matrix54.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Поменять местами столбец с номером N и первый из столбцов, содержащих только отрицательные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.

Matrix55.[Pascal] [C#] [VB.NET] Дана матрица размера M × N (M — четное число). Поменять местами верхнюю и нижнюю половины матрицы.

Matrix56.[Pascal] [C#] [VB.NET] Дана матрица размера M × N (N — четное число). Поменять местами левую и правую половины матрицы.

Matrix57.[Pascal] [C#] [VB.NET] Дана матрица размера M × N (M и N — четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы.

Matrix58.[Pascal] [C#] [VB.NET] Дана матрица размера M × N (M и N — четные числа). Поменять местами левую нижнюю и правую верхнюю четверти матрицы.

Matrix59.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы (при этом поменяются местами строки с номерами 1 и M, 2 и M − 1 и т. д.).

Matrix60.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Зеркально отразить ее элементы относительно вертикальной оси симметрии матрицы (при этом поменяются местами столбцы с номерами 1 и N, 2 и N − 1 и т. д.).

Matrix61.[Pascal] [C#] [VB.NET] Дана матрица размера M × N и целое число K (1 ≤ K ≤ M). Удалить строку матрицы с номером K.

Matrix62.[Pascal] [C#] [VB.NET] Дана матрица размера M × N и целое число K (1 ≤ K ≤ N). Удалить столбец матрицы с номером K.

Matrix63.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Удалить строку, содержащую минимальный элемент матрицы.

Matrix64.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Удалить столбец, содержащий максимальный элемент матрицы.

Matrix65.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Удалить ее первый столбец, содержащий только положительные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.

Matrix66.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Удалить ее последний столбец, содержащий только отрицательные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.

Matrix67.[Pascal] [C#] [VB.NET] Дана матрица размера M × N, содержащая как положительные, так и отрицательные элементы. Удалить все ее столбцы, содержащие только положительные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.

Matrix68.[Pascal] [C#] [VB.NET] Дана матрица размера M × N и целое число K (1 ≤ K ≤ M). Перед строкой матрицы с номером K вставить строку из нулей.

Matrix69.[Pascal] [C#] [VB.NET] Дана матрица размера M × N и целое число K (1 ≤ K ≤ N). После столбца матрицы с номером K вставить столбец из единиц.

Matrix70.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Продублировать строку матрицы, содержащую ее максимальный элемент.

Matrix71.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Продублировать столбец матрицы, содержащий ее минимальный элемент.

Matrix72.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Перед первым столбцом, содержащим только положительные элементы, вставить столбец из единиц. Если требуемых столбцов нет, то вывести матрицу без изменений.

Matrix73.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. После последнего столбца, содержащего только отрицательные элементы, вставить столбец из нулей. Если требуемых столбцов нет, то вывести матрицу без изменений.

Matrix74°.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Элемент матрицы называется ее локальным минимумом, если он меньше всех окружающих его элементов. Заменить все локальные минимумы данной матрицы на нули. При решении допускается использовать вспомогательную матрицу.

Matrix75.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Элемент матрицы называется ее локальным максимумом, если он больше всех окружающих его элементов. Поменять знак всех локальных максимумов данной матрицы на противоположный. При решении допускается использовать вспомогательную матрицу.

Matrix76.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Упорядочить ее строки так, чтобы их первые элементы образовывали возрастающую последовательность.

Matrix77.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Упорядочить ее столбцы так, чтобы их последние элементы образовывали убывающую последовательность.

Matrix78.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Упорядочить ее строки так, чтобы их минимальные элементы образовывали убывающую последовательность.

Matrix79.[Pascal] [C#] [VB.NET] Дана матрица размера M × N. Упорядочить ее столбцы так, чтобы их максимальные элементы образовывали возрастающую последовательность.

Двумерные массивы (матрицы): работа с диагоналями

Matrix80.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Найти сумму элементов ее главной диагонали, т. е. диагонали, содержащей следующие элементы:

A1,1,    A2,2,    A3,3,    …,    AM,M.

Matrix81.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Найти среднее арифметическое элементов ее побочной диагонали, т. е. диагонали, содержащей следующие элементы:

A1,M,    A2,M−1,    A3,M−2,    …,    AM,1.

Matrix82°.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Найти сумму элементов каждой ее диагонали, параллельной главной (начиная с одноэлементной диагонали A1,M).

Matrix83.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Найти сумму элементов каждой ее диагонали, параллельной побочной (начиная с одноэлементной диагонали A1,1).

Matrix84.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Найти среднее арифметическое элементов каждой ее диагонали, параллельной главной (начиная с одноэлементной диагонали A1,M).

Matrix85.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Найти среднее арифметическое элементов каждой ее диагонали, параллельной побочной (начиная с одноэлементной диагонали A1,1).

Matrix86.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Найти минимальный элемент для каждой ее диагонали, параллельной главной (начиная с одноэлементной диагонали A1,M).

Matrix87.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Найти максимальный элемент для каждой ее диагонали, параллельной побочной (начиная с одноэлементной диагонали A1,1).

Matrix88°.[Pascal] [C#] [VB.NET] Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие ниже главной диагонали. Условный оператор не использовать.

Matrix89.[Pascal] [C#] [VB.NET] Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие выше побочной диагонали. Условный оператор не использовать.

Matrix90.[Pascal] [C#] [VB.NET] Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие на побочной диагонали и ниже нее. Условный оператор не использовать.

Matrix91.[Pascal] [C#] [VB.NET] Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие на главной диагонали и выше нее. Условный оператор не использовать.

Matrix92.[Pascal] [C#] [VB.NET] Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и выше побочной диагонали. Условный оператор не использовать.

Matrix93.[Pascal] [C#] [VB.NET] Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и ниже побочной диагонали. Условный оператор не использовать.

Matrix94.[Pascal] [C#] [VB.NET] Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно ниже главной диагонали (включая эту диагональ) и выше побочной диагонали (также включая эту диагональ). Условный оператор не использовать.

Matrix95.[Pascal] [C#] [VB.NET] Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно ниже главной диагонали (включая эту диагональ) и ниже побочной диагонали (также включая эту диагональ). Условный оператор не использовать.

Matrix96.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Зеркально отразить ее элементы относительно главной диагонали (при этом элементы главной диагонали останутся на прежнем месте, элемент A1,2 поменяется местами с A2,1, элемент A1,3 — с A3,1 и т. д.). Вспомогательную матрицу не использовать.

Matrix97.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Зеркально отразить ее элементы относительно побочной диагонали (при этом элементы побочной диагонали останутся на прежнем месте, элемент A1,1 поменяется местами с AM,M, элемент A1,2 — с AM−1,M и т. д.). Вспомогательную матрицу не использовать.

Matrix98.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Повернуть ее на угол 180° (при этом элемент A1,1 поменяется местами с AM,M, элемент A1,2 — с AM,M−1 и т. д.). Вспомогательную матрицу не использовать.

Matrix99.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Повернуть ее на угол 90° в положительном направлении, т. е. против часовой стрелки (при этом элемент A1,1 перейдет в AM,1, элемент AM,1 — в AM,M и т. д.). Вспомогательную матрицу не использовать.

Matrix100°.[Pascal] [C#] [VB.NET] Дана квадратная матрица A порядка M. Повернуть ее на угол 90° в отрицательном направлении, т. е. по часовой стрелке (при этом элемент A1,1 перейдет в A1,M, элемент A1,M — в AM,M и т. д.). Вспомогательную матрицу не использовать.

Категория: Мои статьи | Добавил: DarzaWar (24.05.2012)
Просмотров: 24145 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024 Сделать бесплатный сайт с uCoz