/
DimaTar
/
dima7
Обзор
Документация
Войти
/
DimaTar
/
dima7
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
MatrixRotation.java
84 строки
3 KB
DimaTar
upload files
16 апр 2025, 17:14
16 апр 2025, 17:14
bb5da35
Код
Авторство
О чём код?
import java.util.Random; import java.util.Scanner; public class MatrixRotation { public static final int SIZE = 8; // размер матрицы public static void main(String[] args) { // создание матрицы int[][] colors = new int[SIZE][SIZE]; Random random = new Random(); // заполнение матрицы случайными числами от 0 до 255 for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { colors[i][j] = random.nextInt(256); } } // вывод исходной матрицы System.out.println("Исходная матрица:"); printMatrix(colors); // выбор угла поворота Scanner scanner = new Scanner(System.in); System.out.println("Выберите угол поворота (90, 180 или 270 градусов):"); int angle = scanner.nextInt(); // проверка ввода пользователя if (angle != 90 && angle != 180 && angle != 270) { System.out.println("Неверный угол поворота. Программа завершена."); return; } // поворот матрицы int[][] rotatedColors = rotateMatrix(colors, angle); // вывод повернутой матрицы System.out.println("Матрица после поворота на " + angle + " градусов:"); printMatrix(rotatedColors); } // метод для вывода матрицы public 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(); } } // метод для поворота матрицы public static int[][] rotateMatrix(int[][] matrix, int angle) { int[][] rotatedMatrix = new int[SIZE][SIZE]; switch (angle) { case 90: // поворот на 90 градусов по часовой стрелке for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { rotatedMatrix[j][SIZE - 1 - i] = matrix[i][j]; } } break; case 180: // поворот на 180 градусов for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { rotatedMatrix[SIZE - 1 - i][SIZE - 1 - j] = matrix[i][j]; } } break; case 270: // поворот на 270 градусов по часовой стрелке for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { rotatedMatrix[SIZE - 1 - j][i] = matrix[i][j]; } } break; } return rotatedMatrix; } }