- Варіант: 19
- Скрипт: Файл Prolog (.pl)
- Оцінка: 6/6
Дана квадратна матриця невідомого розміру.
Отримати матрицю в якій змінені місцями половини основної та побічної діагоналей які розташовані справа від центру.
Приклад 1:
matrix(1, [
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 1],
[2, 3, 4, 5, 6],
[7, 8, 9, 1, 2],
[3, 4, 5, 6, 7]
]).
2 ?- task(1, Result).
[1,2,3,4,7]
[6,7,8,1,1]
[2,3,4,5,6]
[7,8,9,9,2]
[3,4,5,6,5]
Result = [[1, 2, 3, 4, 7], [6, 7, 8, 1, 1], [2, 3, 4, 5, 6], [7, 8, 9, 9, 2], [3, 4, 5, 6|...]] .
Приклад 2:
matrix(2, [
[0, 8, 1, 9, 4, 6],
[1, 4, 1, 6, 9, 5],
[9, 4, 9, 3, 3, 0],
[4, 1, 9, 5, 8, 3],
[6, 6, 0, 9, 8, 4],
[7, 1, 4, 6, 4, 9]
]).
3 ?- task(2, Result).
[0,8,1,9,4,9]
[1,4,1,6,8,5]
[9,4,9,5,3,0]
[4,1,9,3,8,3]
[6,6,0,9,9,4]
[7,1,4,6,4,6]
Result = [[0, 8, 1, 9, 4, 9], [1, 4, 1, 6, 8, 5], [9, 4, 9, 5, 3, 0], [4, 1, 9, 3, 8|...], [6, 6, 0, 9|...], [7, 1, 4|...]] .
Приклад 3:
matrix(3, [
[1, 2],
[3, 4]
]).
4 ?- task(3, Result).
[1,4]
[3,2]
Result = [[1, 4], [3, 2]] .
Приклад 4:
matrix(4, [[1]]).
5 ?- task(4, Result).
[1]
Result = [[1]] .
Приклад 5:
matrix(5, [[]]).
6 ?- task(5, Result).
false.
Приклад 6:
matrix(6, []).
7 ?- task(6, Result).
Result = [].