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


Олимпиадный тренинг

Вы можете самостоятельно решать эти задачи столько раз, сколько вам это понадобится.
   

Bovine Genomics №3

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

У Фермера Джона есть N коров с пятнами и N коров без пятен. ФД, как генетик, знает, что пятна на коровах вызваны мутациями в одной позиции коровьего генома.
За большие деньги ФД выписал геномы своих коров. Каждый геном есть строка длины M, построенная из четырёх символов A, C, G, T. Когда он выписал их, у него получилась такая таблица (для N=3):
 
Позиция:                  1 2 3 4 5 6 7 ... M
 
Пятнистая корова 1: A A T C C C A ... T
Пятнистая корова 2: G A T T G C A ... A
Пятнистая корова 3: G G T C G C A ... A
 
Без пятен корова 1: A C T C C C A ... G
Без пятен корова 2: A C T C G C A ... T
Без пятен корова 3: A C T T C C A ... T

Внимательно проанализировав эту таблицу, он предположил, что позиция 2 есть потенциальное место в геноме, которое отвечает за пятнистость. Потому что в этой позиции у коров без пятен находится один и тот же символ С, а у пятнистых коров находятся символы A или G. Причём G больше никогда не появлялось на позиции 2. Позиция 1 не может объяснять пятнистость, поскольку A в этой позиции есть и у пятнистых коров.
 
По заданным геномам коров ФД, посчитайте количество позиций, которые потенциально могли бы объяснять пятнистость.
 
ФОРМАТ ВВОДА:
 
Первая строка ввода содержит N и M, оба - положительные целые числа не более 100. Каждая из следующих N строк содержит по M символов. Они описывают геномы пятнистых коров. Следующие N строк описывают геномы коров без пятен.

ФОРМАТ ВВОДА:
 
Вычислите количество позиций генома (целое число в интервале от 0…M), которые потенциально могут объяснять пятнистость. Такие позиции можно предсказывать по заданной информации.
 
Ввод Вывод
3 8
AATCCCAT
GATTGCAA
GGTCGCAA
ACTCCCAG
ACTCGCAT
ACTTCCAT
1

12.25н

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
 17  16   9   8   1 
 18  15  10   7   2 
 19  14  11   6   3 
 20  13  12   5   4 

12.25з

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

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

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

Примеры

Входные данные Выходные данные
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е

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

Даны числа 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 

Нестандартное заполнение - 2. Змейка

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

Напишите программу, которая заполняет матрицу из 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и

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
 20  19  18  17  16 
 15  14  13  12  11 
 10   9   8   7   6 
  5   4   3   2   1

12.25к

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
 20  16  12   8   4 
 19  15  11   7   3 
 18  14  10   6   2 
 17  13   9   5   1 

Магический квадрат?

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

Магическим квадратом порядка N называется квадратная матрица размера N × N , составленная из чисел 1, 2, ..., N так, что суммы по каждому столбцу, каждой строке и каждой из двух больших диагоналей равны между собой. Напишите программу, которая проверяет, является ли заданная квадратная матрица магическим квадратом.

Входные данные: В первой строке вводится размер матрицы N (0<N<=25) . В следующих N строках вводятся строки матрицы, по N значений в каждой, разделённые пробелами.

Выходные данные: Программа должна вывести слово 'YES', если матрица является магическим квадратом, и слово 'NO', если не является.

Примеры
Входные данные Выходные данные
1 3
8 1 6
3 5 7
4 9 2
YES

12.25о

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
  4   5  12  13  20 
  3   6  11  14  19 
  2   7  10  15  18 
  1   8   9  16  17 

12.25р

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
 20  13  12   5   4 
 19  14  11   6   3 
 18  15  10   7   2 
 17  16   9   8   1 

Таблица чемпионата - 1

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

Дана таблица некоторого чемпионата. Элементы главной диагонали равны 888.  Каждый элемент массива, находящийся не на главной диагонали, может быть либо однозначным либо двузначным числом, запись которых образована цифрами, обозначающими колмичество забитых (первая цифра числа) и количество пропущенных (вторая цифра числа) в данном матче. 
Например: 32 - три забитых, два пропцщенных.
0 - ноль забитых, ноль пропущенных
5 - ноль забитых, пять пропущенных

Входные данные: Программа получает на вход число N <= 15, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет N строк по N чисел, являющихся элементами массива.

Выходные данные: Программа должна вывести N строк по 2 числа в каждой: общее количество забитых и общее количество пропущенных каждой командой мячей

Входные данные Выходные данные
1
3
888 29 37 
92 888 57 
73 75 888 
5 16
14 9
14 8

Симметричный массив

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

Проверьте, является ли двумерный массив симметричным относительно главной диагонали. Главная диагональ — та, которая идёт из левого верхнего угла двумерного массива в правый нижний.

Входные данные: программа получает на вход число N <= 15, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по N чисел, являющихся элементами массива.

Выходные данные: программа должна выводить слово yes для симметричного массива и слово no для несимметричного.

Примеры
Входные данные Выходные данные
1 3
0 1 2
1 2 3
2 3 4
yes
2 3
0 1 2
1 8 3
2 4 9
no

Замена столбца на элементы массива

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

Дана матрица размером NxM и массив чисел размером N
В данной матрице заменить все элементы столбца с максимальной суммой элементов на элементы заданного массива чисел. Если таких столбов несколько, то заменить элементы в столбце с меньшим индексом.

Входные данные: в первой строке задаются числа N и M (0<N,M<=10). Далее идут N строк по M чисел в каждой. Каждое число по модулю не более 100.
В последней строке идут N чисел массива.
Выходные данные: выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа

Примеры

Входные данные Выходные данные
1 3 4
52 16 61 93 
5 5 33 41 
37 34 14 16 
76 69 26
 52  16  61  76 
  5   5  33  69 
 37  34  14  26 

Изменение строки с максимумом

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

В матрице размером NхM заменить на значение -1 все элементы тех строк, в которых находится максимальный элемент.

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

Примеры

Входные данные Выходные данные
1 5 5
15 68 54 79 89 
91 57 21 70 24 
14 22 5 26 76 
51 59 92 98 96 
50 62 50 58 1 
 15  68  54  79  89 
 91  57  21  70  24 
 14  22   5  26  76 
 -1  -1  -1  -1  -1 
 50  62  50  58   1 

Обработка столбца в матрице - 2

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

Дан двумерный массив A[N][M] ( 1<=N<=20; M 1<=M<=20).
В первой строке вводятся через пробел количество строк - (строки массива нумеруются от 0 до N-1), и количество столбцов - (столбцы массива нумеруются от 0 до M-1)
Далее идет ввод элементов массива построчно
Определить количество двухзначных чисел из последнего столбца.

Примеры

Входные данные Выходные данные
1 2 2
5 15
11 22
2
2 2 3
11 15 2
 3   4 10
1

Обработка строки в матрице - 1

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

Дан двумерный массив A[N][M] ( 2<=N<=20; M 2<=M<=20).
В первой строке вводятся через пробел количество строк - число от 0 до N-1, и количество столбцов - число от 0 до M-1.
Во второй строке вводится число k
Далее идет ввод элементов массива построчно
Определить количество элементов из последней строки кратных k.

Примеры

Входные данные Выходные данные
1 2 2
1
5 5
1 2
2
2 2 3
2
1 5 2
3 4 0
2

Максимум в матрице - 1

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

В метании молота состязается n спортcменов. Каждый из них сделал m бросков. Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам. Таким образом, программа должна найти значение максимального элемента в данном массиве, а также его индексы (то есть номер спортсмена и номер попытки).


Входные данные: Программа получает на вход два числа n и m (1<=n<=20;  1<=n<=20), являющиеся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по m чисел, являющихся элементами массива.

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

Примеры
Входные данные Выходные данные
1 4 3
1 4 2
5 2 5
5 1 4
1 2 4
5
1 0

Сумма диагональных элементов

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

Входные данные: программа получает на вход число N <= 15, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет N строк по N чисел, являющихся элементами массива.

Выходные данные: программа должна вывести строку, в которой через пробел указаны числа являющиеся суммой тех двух элементов каждой строки, которые принадлежат главной и побочной диагоналям

Примеры
Входные данные Выходные данные
1
5
16 17 29 17 30 
26 12 14 12 2 
23 6 30 27 13 
15 7 28 20 2 
11 16 21 26 24
46 24 30 27 35

Обработка строки в матрице - 2

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

Дан двумерный массив A[N][M] ( 2<=N<=20; M 2<=M<=20).
В первой строке вводятся через пробел количество строк - число от 0 до N-1, и количество столбцов - число от 0 до M-1.
Во второй строке вводится число  k
Далее идет ввод элементов массива построчно
Определить среднее арифметическое элементов k-ой строки массива.

Примеры

Входные данные Выходные данные
1 2 2
1
5 5
1 2
1.500000
2 2 3
0
1 5 2
3 4 0
2.666666

12.25л

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
 20  19  18  17  16 
 11  12  13  14  15 
 10   9   8   7   6 
  1   2   3   4   5 

12.25г

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
  4   8  12  16  20 
  3   7  11  15  19 
  2   6  10  14  18 
  1   5   9  13  17

Сумма максимума и минимума

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

Входные данные: Программа получает на вход число N <= 15, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет N строк по N чисел, являющихся элементами массива.

Выходные данные: Программа должна вывести одно число - сумму максимального элемента главной диагонали и минимального элемента побочной диагонали

Примеры
Входные данные Выходные данные
1
3
11 24 19 
8 21 10 
16 24 14
37

Среднее арифметическое на главной диагонали

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

Входные данные: программа получает на вход число N <= 15, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет N строк по N чисел, являющихся элементами массива.

Выходные данные: программа должна вывести одно число - среднее арифметическое элементов главной диагонали двумерного массива.

Примеры
Входные данные Выходные данные
1
5
23 23 2 5 24 
7 21 15 12 18 
14 16 6 19 15 
23 5 23 9 24 
5 7 12 18 28 
17.400000

12.25в

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

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

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

Примеры

Входные данные Выходные данные
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ж

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

Даны числа 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

Таблица чемпионата - 2

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

Дана таблица некоторого чемпионата. Элементы главной диагонали равны 8.  Каждый элемент массива, находящийся не на главной диагонали, может принимать следующие значения: 3 - если данная команда выиграла игру, 0 - если проиграла, 1 - если игра закончилась в ничью.

Входные данные: Программа получает на вход число N <= 15, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет N строк по N чисел, являющихся элементами массива.

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

Входные данные Выходные данные
1
3
8 0 3 
3 8 1 
0 1 8  
1 0 1
1 1 0
0 1 1

Минимальный на диагоналях

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

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

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

Входные данные Выходные данные
1
3
80 10 22 
81 90 13 
37 79 80  
80 10 37 
81 90 13 
22 79 80

Среднее арифметическое на побочной диагонали

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

Входные данные: программа получает на вход число N <= 15, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет N строк по N чисел, являющихся элементами массива.

Выходные данные: программа должна вывести одно число - среднее арифметическое элементов побочной диагонали двумерного массива.

Примеры
Входные данные Выходные данные
1
3
5 26 17 
20 5 29 
29 23 14  
17.000000

Поиск требуемой строки

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

В метании молота состязается n спортcменов. Каждый из них сделал m бросков. (n<=20, m<=20)
Победителем считается тот спортсмен, у которого сумма результатов по всем броскам максимальна. 
Если перенумеровать спортсменов числами от 0 до n-1, а попытки каждого из них – от 0 до m-1, то на вход программа получает массив A[n][m], состоящий из неотрицательных целых чисел (0<A[n][m]<500). Программа должна определить номер строки с максимальной суммой чисел и вывести на экран эту сумму и номер строки, для которой достигается эта сумма.


Входные данные: Программа получает на вход два числа n и m, являющиеся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по m чисел, являющихся элементами массива.

Выходные данные: Программа должна вывести  2 числа: сумму и номер строки, для которой эта сумма достигается. Если таких строк несколько, то выводится номер наименьшей из них. 

Примеры

Входные данные Выходные данные
1 4 3
5 6 7
6 6 7
7 6 6
4 3 5
19 1

Простая задача

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

Дан двумерный массив N*M (0<N,M<=20).
Значения элементов массива вводятся с клавиатуры
Вывести в первой строке все угловые элементы массива, начиная с левого верхнего угла и далее двигаясь по часовой стрелкке.

Входные данные:
В первой строке задается размер массива. N - количество строк, M - количество столбцов (0<N,M<=20)
Далее идут N строк по M чисел в каждой строке - элементы двумерного массива (каждый элемент по модулю не больше 50)

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


Примеры
Входные данные Выходные данные
1 4 5
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
0 4 7 3

12.25б

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

Даны числа 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 

12.25д

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
  1   2   3   4   5 
 10   9   8   7   6 
 11  12  13  14  15 
 20  19  18  17  16 

Строка с минимальной суммой

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

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

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

Выходные данные: Программа должна вывести все элементы найденной строки с минимальной суммой, разделив их пробелами. Если строк с одинаковой минимальной суммой несколько, нужно выбрать из них строку с минимальным индексом.

Примеры

Входные данные Выходные данные
1 4 5
1 3 2 54 234
75 12 3 46 9
13 26 56 9 12
14 90 897 6 34
13 26 56 9 12

Вставка столбцов

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

В двумерный массив записаны годовые оценки по десяти предметам каждого из \(N\) учеников класса (в нулевом столбце - оценки по первому предмету, в первом - по второму и т.д.), но по ошибке забыли вписать в массив оценки еще по одному предмету, который должен находиться в столбце \(K\). Измените массив так, чтобы он был заполнен надлежащим образом. 

Под добавлением столбца в двумерный массив будем понимать:
1) увеличение числа столбцов массива на 1
2) смещение всех столбов после \(K\)-го на один вправо
3) присваивание заданных значений элементам \(K\)-го столбца

Входные данные: в первой строке задаётся число N (0<N<=30). Далее идут N строк по 10 чисел в каждой. Каждое число в диапазоне от 2 до 5.
В следующей строке идет число K (1<=K<=10)
Далее в последней строке (без пропуска строк) идет N чисел, оценки соответствующего ученика по новому предмету
Выходные данные: выведите на экран преобразованную матрицу, отделяя каждый элемент одним пробелом

Примеры

Входные данные Выходные данные
1 5
5 3 4 2 4 1 3 3 4 4 
3 3 1 2 3 4 3 2 4 3 
2 4 5 4 2 1 4 2 2 4 
1 3 5 1 1 1 5 3 4 1 
3 4 2 1 5 3 3 5 2 1 
1
5 5 3 5 3 
5 5 3 4 2 4 1 3 3 4 4 
5 3 3 1 2 3 4 3 2 4 3 
3 2 4 5 4 2 1 4 2 2 4 
5 1 3 5 1 1 1 5 3 4 1 
3 3 4 2 1 5 3 3 5 2 1

Симметричный массив

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

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

Входные данные: в первой строке задается число n - размер массива. Далее идут n строк по n чисел в каждой - элементы двумерного массива
Выходные данные: выведите на экран слово YES, если массив симметричен, или NO - в противном случае

Примеры

Входные данные Выходные данные
1 3
0 1 2
1 2 3
2 3 4
YES

Диагональ ниже главной

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

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

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

Входные данные: Программа получает на вход число n, затем идут элементы массива  n строк по n символов в каждой строке, затем с новой строки число k

Выходные данные: элементы k-й по счету диагонали ниже главной диагонали, через пробел в одной строке

Примеры
Входные данные Выходные данные
1 4
1 2 3 4
5 6 7 8
0 1 2 3
4 5 6 7
1
5 1 6
2 4
1 2 3 4
5 6 7 8
0 1 2 3
4 5 6 7
-2
3 8

Квадранты

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

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

Входные данные: на вход подается одно - размер квадратного массива
Выходные данные: выведите на экран заполненную квадратную матрицу

Примеры

Входные данные Выходные данные
1 8 0 1 1 1 1 1 1 0
4 0 1 1 1 1 0 2
4 4 0 1 1 0 2 2
4 4 4 0 0 2 2 2
4 4 4 0 0 2 2 2
4 4 0 3 3 0 2 2
4 0 3 3 3 3 0 2
0 3 3 3 3 3 3 0

12.25м

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
  5   4   3   2   1 
  6   7   8   9  10 
 15  14  13  12  11 
 16  17  18  19  20 

Квадратная матрица

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

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

Входные данные: на вход подается одно единственное число n
Выходные данные: выведите на экран заполненную матрицу

Примеры

Входные данные Выходные данные
1 5 0 1 2 3 4
1 0 1 2 3
2 1 0 1 2
3 2 1 0 1
4 3 2 1 0

Обмен диагоналей

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

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

Входные данные: на вход подается число n  - размер квадратного массива. Далее идут n строк по n чисел в каждой - элементы массива
Выходные данные: выведите на экран массив после преобразования

Примеры

Входные данные Выходные данные
1 3
1 2 3
4 5 6
7 8 9
7 2 9
4 5 6
1 8 3

Минимум и максимум в матрице

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

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
1 3 2 54 24
75 12 3 46 9
13 26 56 9 12
14 90 97 6 34
1 1 1
4 3 97

Вывод столбцов с максимумом

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

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

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

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

Примеры
Входные данные Выходные данные
1 4 5
1 897 2 54 234
75 12 3 46 9
13 26 56 9 12
14 90 897 6 34
897 12 26 90
2 3 56 897

Нестандартное заполнение - 1. Диагонали

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

Напишите программу, которая заполняет матрицу неотрицательными числами по диагоналям (см. пример). Значение элемента матрицы равно расстоянию от левого верхнего угла матрицы.

Входные данные: Во входной строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 ≤ N , M ≤ 100 ).

Выходные данные: Программа должна вывести полученную матрицу по строкам.

Примеры
Входные данные Выходные данные
1 4 5 0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7

Подсчет по сумме

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

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

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

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

Примеры
Входные данные Выходные данные
1 5 5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
2
3
5

Поиск в матрице

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

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

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

Выходные данные: Программа должна вывести количество элементов матрицы, равных .

Примеры

Входные данные Выходные данные
1 4 5
1 2 3 4 5
6 12 8 9 10
11 12 12 14 15
16 17 18 12 20
12
4

12.25п

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

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

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

Примеры

Входные данные Выходные данные
1 4 5
 16  17  18  19  20 
 15  14  13  12  11 
  6   7   8   9  10 
  5   4   3   2   1 

Наибольший на диагоналях

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

В квадратном массиве размером NxN, где N - нечетное число. Наибольший элемент среди стоящих на главной и побочной диагоналях поменять местами с элементом, стоящим на пересечении этих диагоналей. Если наибольших элементов несколько, то поменять тот у которого номер строки и столбца меньше.

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

Входные данные Выходные данные
1
3
89 10 79 
42 7 5 
94 32 68  
89 10 79 
42 94 5 
7 32 68

Заполнение по диагоналям

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

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

Входные данные: Программа получает на вход два числа n и m.
Выходные данные: Программа должна вывести полученный массив, отводя на вывод каждого числа ровно 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хn и заполните его по следующему правилу:

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

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

Входные данные: на вход подается одно n
Выходные данные: выведите на экран заполненный массив

Примеры
Входные данные Выходные данные
1 4 0 0 0 1
0 0 1 2
0 1 2 2
1 2 2 2

Сумма на диагоналях

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

Входные данные: программа получает на вход число N <= 15, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет N строк по N чисел, являющихся элементами массива.

Входные данные: программа должна вывести
1) слово YES - если сумма элементов, расположенных на главной диагонали, больше суммы элементов расположенных на побочной диагонали
2) слово NO - если условие 1 не выполняется

Примеры
Входные данные Выходные данные
1
3
24 23 5 
27 19 6 
15 16 25 
YES
2
3
17 20 18 
25 9 26 
30 4 11
NO

Циклический сдвиг построчно

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

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

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

Оформите сдвиг вправо на K позиций в виде подпрограммы.

Примеры

Входные данные Выходные данные
1 3 4
47 63 22 75 
69 69 12 70 
70 90 13 31 
 47  63  22  75 
 70  69  69  12 
 13  31  70  90 

Обмен столбцов

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

Дана матрица размером NxM и два числа k1 и k2. Выполните циклическую перестановку столбцов влево, находящихся между столбцами k1 и k2 (включая столбцы k1 и k2, т.е. столбец k1 должен оказаться на месте столбца k2, столбец k2 не месте столбца k2-1 и т.д.)

Входные данные: в первой строке задаются числа N и M (0<N,M<=10). Далее идут N строк по M чисел в каждой. Каждое число по модулю не более 100.
Далее с новой строки идут два числа k1, k2 (0<k1,k2<=M)
Выходные данные: выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа

Примеры

Входные данные Выходные данные
1 3 4
56 32 94 12 
15 72 51 60 
43 4 97 38 
0 2
 32  94  56  12 
 72  51  15  60 
  4  97  43  38 

Обмен строк

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

Дана матрица размером NxM и два числа k1 и k2. Поменяйте местами строки с индексами k1 и k2

Входные данные: в первой строке задаются числа N и M (0<N,M<=10). Далее идут N строк по M чисел в каждой. Каждое число по модулю не более 100.
Далее с новой строки идут два числа k1, k2 (0<k1,k2<=N)
Выходные данные: выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа

Примеры

Входные данные Выходные данные
1 4 5
72 50 18 79 74 
48 93 27 9 76 
33 76 69 59 58 
19 65 53 90 77 
2 0
 33  76  69  59  58 
 48  93  27   9  76 
 72  50  18  79  74 
 19  65  53  90  77

Удаление столбцов

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

В двумерном массиве хранятся результаты (время в минутах), показанные каждым из \(N\) велогонщиков на каждом из 12-ти этапов соревнований (в нулевом столбце - результаты первого этапа, в первом - второго и т.д.) Судейской коллегией результаты \(K\)-го этапа были признаны недействительными и были удалены из таблицы.
Измените массив соответствующим образом и выведите его на экран.

Под удалением столбца в двумерном массиве будем понимать:
1) исключение этого столбца из массива путем смещения всех следующих за ним столбцов на один влево
2) присваивание всем элементам последнего столбца значения 0 (или уменьшение количества столбцов на 1)

Входные данные: в первой строке задаётся число N (0<N<=30). Далее идут N строк по 12 чисел в каждой. Каждое число по модулю не более 100.
Далее с новой строки идет число K (1<=K<=12)
Выходные данные: выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа

Примеры

Входные данные Выходные данные
1 4
65 2 22 62 41 18 80 15 35 20 21 27 
7 28 35 98 15 27 87 95 73 45 26 28 
1 99 11 69 11 13 80 78 3 53 76 73 
87 37 11 85 72 33 59 79 61 53 80 67 
4
 65   2  22  41  18  80  15  35  20  21  27 
  7  28  35  15  27  87  95  73  45  26  28 
  1  99  11  11  13  80  78   3  53  76  73 
 87  37  11  72  33  59  79  61  53  80  67 

Удаление строк

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

В двумерном массиве хранятся результаты (время в минутах), показанные каждым из \(N\) автогонщиков на каждом из 10-ти этапов соревнований "Формула-1" (в нулевой строке - результаты первого гонщика, в первой - второго и т.д.) После десятого этапа гонщик с порядковым номером \(K\) выбыл из соревнований. Судейской коллегией было принято решение удалить результаты данного участника из таблицы.
Измените массив соответствующим образом и выведите его на экран.

Под удалением строки в двумерном массиве будем понимать:
1) исключение этой строки из массива путем смещения всех следующих за ней строк на одну вверх
2) присваивание всем элементам последней строки значения 0 (или уменьшение количества строк на 1)

Входные данные: в первой строке задаётся число N (0<N<=30). Далее идут N строк по 10 чисел в каждой. Каждое число по модулю не более 100.
Далее с новой строки идет число K (1<=K<=N)
Выходные данные: выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа

Примеры

Входные данные Выходные данные
1 5
38 43 82 95 20 100 99 83 77 42 
94 92 74 30 93 75 99 6 79 68 
4 20 25 54 15 31 81 39 79 76 
62 97 14 40 70 31 3 84 33 74 
99 30 91 15 41 54 87 31 71 74 
3
 38  43  82  95  20 100  99  83  77  42 
 94  92  74  30  93  75  99   6  79  68 
 62  97  14  40  70  31   3  84  33  74 
 99  30  91  15  41  54  87  31  71  74 

Удаление строк

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

В двумерном массиве хранятся результаты (время в минутах), показанные каждым из \(N\) автогонщиков на каждом из 10-ти этапов соревнований "Формула-1" (в нулевой строке - результаты первого гонщика, в первой - второго и т.д.) После десятого этапа гонщик с порядковым номером \(K\) выбыл из соревнований. Судейской коллегией было принято решение удалить результаты данного участника из таблицы.
Измените массив соответствующим образом и выведите его на экран.

Под удалением строки в двумерном массиве будем понимать:
1) исключение этой строки из массива путем смещения всех следующих за ней строк на одну вверх
2) присваивание всем элементам последней строки значения 0 (или уменьшение количества строк на 1)

Входные данные: в первой строке задаётся число N (0<N<=30). Далее идут N строк по 10 чисел в каждой. Каждое число по модулю не более 100.
Далее с новой строки идет число K (1<=K<=N)
Выходные данные: выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа

Примеры

Входные данные Выходные данные
1 5
38 43 82 95 20 100 99 83 77 42 
94 92 74 30 93 75 99 6 79 68 
4 20 25 54 15 31 81 39 79 76 
62 97 14 40 70 31 3 84 33 74 
99 30 91 15 41 54 87 31 71 74 
3
 38  43  82  95  20 100  99  83  77  42 
 94  92  74  30  93  75  99   6  79  68 
 62  97  14  40  70  31   3  84  33  74 
 99  30  91  15  41  54  87  31  71  74 

Обработка столбца в матрице - 2

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

Дан двумерный массив A[N][M] ( 2<=N<=20; M 2<=M<=20).
В первой строке вводятся через пробел количество строк - число от 0 до N-1, и количество столбцов - число от 0 до M-1.
Во второй строке вводится число s (0<=s<=20)
Далее идет ввод элементов массива построчно
Определить cумму всех элементов s-го столбца массива.

Примеры

Входные данные Выходные данные
1 2 2
1
5 5
1 2
7
2 2 3
0
1 5 2
3 4 0
4