/
ZIKFOX
/
MatrixJOB7
Обзор
Документация
Войти
/
ZIKFOX
/
MatrixJOB7
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Main.java
88 строк
2 KB
ZIKFOX
Matrix JOB7
17 дек 2025, 14:35
17 дек 2025, 14:35
a7f3c91
Код
Авторство
О чём код?
import java.util.Random; import java.util.Scanner; public class Main { public static final int SIZE = 8; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[][] colors = generateMatrix(); System.out.println("\nДана следующая матрица:\n"); printMatrix(colors); System.out.println("\nВыберите угол поворота: 90, 180, 270: "); int angle = scanner.nextInt(); int[][] rotated = rotateMatrix(colors, angle); System.out.printf("\nПовернутая на %d° матрица:%n\n", angle); printMatrix(rotated); scanner.close(); } private static int[][] generateMatrix() { int[][] matrix = new int[SIZE][SIZE]; Random random = new Random(); for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { matrix[i][j] = random.nextInt(256); } } return matrix; } private static void printMatrix(int[][] matrix) { for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { System.out.format("%4d", matrix[i][j]); } System.out.println(); } } private static int[][] rotateMatrix(int[][] matrix, int angle) { int[][] result = new int[SIZE][SIZE]; switch (angle) { case 90: rotate90(matrix, result); break; case 180: rotate180(matrix, result); break; case 270: rotate270(matrix, result); break; } return result; } private static void rotate90(int[][] src, int[][] dst) { for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { dst[j][SIZE - 1 - i] = src[i][j]; } } } private static void rotate180(int[][] src, int[][] dst) { for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { dst[SIZE - 1 - i][SIZE - 1 - j] =src[i][j]; } } } private static void rotate270(int[][] src, int[][] dst) { for(int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { dst[SIZE - 1 -j][i] = src[i][j]; } } } }