Двумерные массивы

231 задача
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

У Фили есть квадратная матрица \(A\) размера \(N \times N\), но она кажется ему слишком большой. Ему гораздо больше нравятся матрицы размера \(k \times k\) (\(k < N\)).

Филя хочет получить матрицу нужного размера взяв некоторую подматрицу исходной матрицы. Подматрицей \(k \times k\) матрицы \(A\) в данном случае Филя считает матрицу \(B\) такую, что \(b_{i, j} = a_{i + x, j + y}\), для всех \(i\), \(j\) от \(1\) до \(k\). Из данного определения можно заметить, что подматрица исходной матрицы задается парой чисел (\(x\), \(y\)).

Для того, чтобы выбрать наиболее интересную для себя подматрицу, Филя хочет узнать, сколько есть способов выбрать из исходной матрицы две различные (характеризующие пары (\(x\), \(y\)) отличаются хотя бы в одной позиции) равные подматрицы \(k \times k\). Две матрицы \(Q\) и \(P\) размера \(k \times k\) считаются равными, если для любых \(i, j: 1 \le i, j \le k\) выполняется \(q_{i, j} = p_{i, j}\). Если условия равенства не выполняется, матрицы считаются неравными.

Формат входных данных
В первой строке входного файла содержатся два натуральных числа \(N\) и \(k\) — размеры исходной и нужной матрицы. (\(1 \le k < N \le 10\)). В следующих \(N\) строках заданы через пробел по \(N\) натуральных чисел \(a_{i, j}\) — элементы исходной матрицы (\(1 \le a_{i, j} < 10\)).

Формат выходных данных
В единственной строке выходного файла выведите одно число — количество способов выбрать из исходной матрицы две различные равные подматрицы размера \(k \times k\).

12.25е#37060
Даны числа n и m. Создайте массив A[n][m] и заполните его, как показано на примере.

Входные данные: Программа получает на вход два числа n и m.
Выходные данные: Программа должна вывести полученный массив, отводя на вывод каждого числа ровно 3 символа.

Примеры
Входные данные Выходные данные
1 4 5
  1   8   9  16  17 
  2   7  10  15  18 
  3   6  11  14  19 
  4   5  12  13  20 
12.25д#37059
Даны числа n и m. Создайте массив A[n][m] и заполните его, как показано на примере.

Формат входных данных 
Программа получает на вход два числа n и m.

Формат выходных данных 
Программа должна вывести полученный массив. Элементы строки должны разделяться одним пробелом, кроме этого, одно число необходимо записывать в трех знакоместах.

Примеры
Входные данные Выходные данные
1 4 5
  1   2   3   4   5 
 10   9   8   7   6 
 11  12  13  14  15 
 20  19  18  17  16 
12.25к#37052
Даны числа n и m. Создайте массив A[n][m] и заполните его, как показано на примере.

Формат входных данных
Программа получает на вход два числа n и m.

Формат выходных данных
Программа должна вывести полученный массив. Элементы строки должны разделяться одним пробелом, кроме этого, одно число необходимо записывать в трех знакоместах.
12.25и#37051
Даны числа n и m. Создайте массив A[n][m] и заполните его, как показано на примере.

Формат входных данных
Программа получает на вход два числа n и m.

Формат выходных данных
Программа должна вывести полученный массив. Элементы строки должны разделяться одним пробелом, кроме этого, одно число необходимо записывать в трех знакоместах.
Даны числа n и m. Создайте массив A[n][m] и заполните его, как показано на примере.

Формат входных данных
Программа получает на вход два числа n и m.

Формат выходных данных
Программа должна вывести полученный массив. Элементы строки должны разделяться одним пробелом, кроме этого, одно число необходимо записывать в трех знакоместах.

 
Примеры
Входные данные Выходные данные
1 4 5
 17  13   9   5   1 
 18  14  10   6   2 
 19  15  11   7   3 
 20  16  12   8   4 
12.25ж#37049
Даны числа n и m. Создайте массив A[n][m] и заполните его, как показано на примере.

Формат входных данных
Программа получает на вход два числа n и m.

Формат выходных данных
Программа должна вывести полученный массив, отводя на вывод каждого числа ровно 3 символа.
 
Примеры
Входные данные Выходные данные
1 4 5
 16  17  18  19  20 
 11  12  13  14  15 
  6   7   8   9  10 
  1   2   3   4   5
12.25г#37048
Даны числа n и m. Создайте массив A[n][m] и заполните его, как показано на примере.

Формат входных данных
Программа получает на вход два числа n и m.

Формат выходных данных
Программа должна вывести полученный массив. Элементы строки должны разделяться одним пробелом, кроме этого, одно число необходимо записывать в трех знакоместах.
 
Примеры
Входные данные Выходные данные
1 4 5
  4   8  12  16  20 
  3   7  11  15  19 
  2   6  10  14  18 
  1   5   9  13  17
Даны числа n и m. Создайте массив A[n][m] и заполните его, как показано на примере.

Формат входных данных
Программа получает на вход два числа n и m.

Формат входных данных
Программа должна вывести полученный массив. Элементы строки должны разделяться одним пробелом, кроме этого, одно число необходимо записывать в трех знакоместах.
 
Примеры
Входные данные Выходные данные
1 4 5
  5   4   3   2   1 
 10   9   8   7   6 
 15  14  13  12  11 
 20  19  18  17  16
12.25б#37046
Даны числа n и m. Создайте массив A[n][m] и заполните его, как показано на примере.

Формат входных данных
Программа получает на вход два числа n и m.

Формат выходных данных
Программа должна вывести полученный массив, отводя на вывод каждого числа ровно 3 символа.
 
Примеры
Входные данные Выходные данные
1 4 5
  1   5   9  13  17 
  2   6  10  14  18 
  3   7  11  15  19 
  4   8  12  16  20 
Даны числа n и m. Создайте массив A[n][m] и заполните его, как показано на примере.

Входные данные: Программа получает на вход два числа n и m (1 <= n, m <= 15).
Выходные данные: Программа должна вывести полученный массив, отводя на вывод каждого числа ровно 3 символа.

Примеры
Входные данные Выходные данные
1 4 10
  0  1  3  6 10 14 18 22 26 30
  2  4  7 11 15 19 23 27 31 34
  5  8 12 16 20 24 28 32 35 37
  9 13 17 21 25 29 33 36 38 39
Заполните квадратную матрицу целыми числами по образцу. На главной и побочных диагоналях стоят нули, эти диагонали делят массив на четыре части. В верхней части записаны единицы, в правой записаны двойки, в нижней записаны тройки, в левой записаны четверки.

Формат входных данных
На вход подается одно число n - размер квадратного массива (n <= 100).

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

Формат входных данных
На вход подается число n  - размер квадратного массива (n <= 10). Далее идут n строк по n чисел в каждой - элементы массива.

Формат выходных данных
Выведите на экран матрицу после преобразования.

Дан квадратный двумерный массив размером nхn и число k. Выведите элементы k-й по счету диагонали ниже главной диагонали (т.е. если k=1, то нужно вывести элементы первой диагонали, лежащей ниже главной, если k=2, то второй диагонали и т.д.).

Значение k может быть отрицательным, например, если k=−1, то нужно вывести значение первой диагонали, лежащей выше главной. Если k=0, то нужно вывести элементы главной диагонали.
 

Формат входных данных
Программа получает на вход число n (n <= 10), затем идут элементы массива  n строк по n символов в каждой строке, затем с новой строки, число k (все элементы и значение k по модулю не больше 100).
 

Формат выходных данных
Элементы k-й по счету диагонали ниже главной диагонали, через пробел, в одной строке.
Дано число n и двумерный массив размером nхn. Проверьте, является ли этот двумерный массив симметричным относительно главной диагонали. Выведите слово “YES”, если двумерный массив симметричный, и слово “NO” - в противном случае.

Формат входных данных
В первой строке задается число n - размер двумерного массива (n <= 10). Далее идут n строк по n чисел в каждой - элементы двумерного массива.

Формат выходных данных
Выведите на экран слово "YES", если массив симметричен, или "NO" - в противном случае

Дано число n. Создайте массив размером nхn и заполните его по следующему правилу:

Числа на диагонали, идущей из правого верхнего в левый нижний угол, равны 1.
Числа, стоящие выше этой диагонали, равны 0.
Числа, стоящие ниже этой диагонали, равны 2.

Полученный массив выведите на экран. Числа в строке разделяйте одним пробелом.

Формат входных данных
На вход подается одно число n (n<=100).

Формат выходных данных
Выведите на экран, заполненную матрицу.
Дано число n. Создайте двумерный массив размером nхn и заполните его по следующему правилу. На главной диагонали должны быть записаны числа 0. На двух диагоналях, прилегающих к главной, числа 1. На следующих двух диагоналях числа 2 и т.д.

Формат входных данных
На вход подается одно единственное число n (n<=10).

Формат выходных данных
Выведите на экран заполненную матрицу.

Напишите программу, которая находит в матрице столбцы, в которых есть элемент, равный максимальному.
 

Формат входных данных
В первой строке записаны, через пробел, размеры матрицы: количество строк N и количество столбцов M (1<= N, M <= 100). Далее идут  N строк, в каждой записано по M натуральных чисел, разделённых пробелами - элементы матрицы.
 

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

Напишите программу, которая определяет, сколько в матрице есть K -значных чисел, сумма цифр каждого из которых кратна R .
 

Формат входных данных
В первой строке записаны, через пробел, размеры матрицы: количество строк N и количество столбцов M (1 <= N, M <= 100). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами. Затем в двух разных строках вводятся числа K и R .
 

Формат выходных данных
Программа должны вывести одно число – количество K -значных чисел, сумма цифр каждого из которых кратна R .

Напишите программу, которая находит минимальный и максимальный элементы в матрице. Если в матрице есть несколько одинаковых минимальных (максимальных) элементов, нужно найти индексы первого такого элемента в порядке обхода по строкам: слева направо, сверху вниз.
 

Формат входных данных
В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M (1 <= N, M <= 100). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами.


Формат выходных данных
В первой строке программа должна вывести индексы минимального элемента (строку и столбец), а затем – его значение. Нумерация строк и столбцов начинается с единицы. Все числа разделены пробелами. Во второй строке выводится информация о максимальном элементе в том же формате.

Поделиться
Класснуть