Поворот
Дан массив [latex]n[/latex] × [latex]m[/latex]. Требуется повернуть его по часовой стрелке на [latex]90[/latex] градусов.
Входные данные
В первой строке даны натуральные числа [latex]n[/latex] и [latex]m[/latex] [latex](1 ≤ n, m ≤ 50)[/latex]. На следующих [latex]n[/latex] строках записано по [latex]m[/latex] неотрицательных чисел, не превышающих [latex]109[/latex] — сам массив.
Выходные данные
Выведите перевернутый массив в формате входных данных.
Тесты
# | ВХОДНЫЕ ДАННЫЕ | ВЫХОДНЫЕ ДАННЫЕ |
---|---|---|
1 | 2 2
1 2 3 4 |
2 2
3 1 4 2 |
2 | 3 3
1 2 3 4 5 6 7 8 9 |
3 3
4 7 1 8 5 2 9 6 3 |
3 | 3 4
4 5 7 8 3 6 8 7 2 2 4 5 |
4 3
2 3 4 2 6 5 4 8 7 5 7 8 |
4 | 1 2
5 4 |
2 1
5 4 |
5 | 1 1
2 |
1 1
2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <iostream> using namespace std; int main() { int n, m; cin >> n >> m; int ** x = new int *[n]; for (int i = 0; i < n; i++) x[i] = new int[m]; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) cin >> x[i][j]; cout << m << " " << n; cout << endl; for (int j = 0; j < m; j++){ for (int i = n - 1; i >= 0; i--) cout << x[i][j] << " "; cout << endl; } return 0; } |
Решение задачи:
Алгоритм решения данной задачи состоит в том, чтоб при выводе матрицы, начать выводить ее элементы не по строкам, а по столбцам, снизу вверх, начиная с первого столбца (левого нижнего угла матрицы).
Для отправки комментария необходимо войти на сайт.