/
Ersh
/
HomeWorkNine
Обзор
Документация
Войти
/
Ersh
/
HomeWorkNine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/Main.java
103 строки
4 KB
Ersh
upload files
22 июл 2025, 14:34
22 июл 2025, 14:34
6fc0d08
Код
Авторство
О чём код?
import java.util.Random; import java.util.Scanner; public class Main { public static final int SIZE = 8; // Размер матрицы 8x8 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Random random = new Random(); // Создание и заполнение исходной матрицы случайными числами от 0 до 255 int[][] colors = new int[SIZE][SIZE]; for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { colors[i][j] = random.nextInt(256); // [0; 255] } } System.out.println("Исходная матрица:"); printMatrix(colors); // Выбор угла поворота (задание 2) System.out.print("\nВведите угол поворота (90, 180, 270): "); int angle = scanner.nextInt(); int[][] rotated = null; switch (angle) { case 90: rotated = rotate90Clockwise(colors); break; case 180: rotated = rotate180(colors); break; case 270: rotated = rotate270Clockwise(colors); break; default: System.out.println("Неподдерживаемый угол. Используем поворот на 90 градусов."); rotated = rotate90Clockwise(colors); } System.out.println("\nМатрица после поворота на " + angle + "° по часовой стрелке:"); printMatrix(rotated); scanner.close(); } //Поворот матрицы на 90 градусов по часовой стрелке // Правило: rotated[j][SIZE-1-i] = original[i][j] public static int[][] rotate90Clockwise(int[][] matrix) { int[][] result = new int[SIZE][SIZE]; for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { result[j][SIZE - 1 - i] = matrix[i][j]; } } return result; } //Поворот на 180 градусов = два раза по 90° //Эквивалентно: result[SIZE-1-i][SIZE-1-j] = matrix[i][j] public static int[][] rotate180(int[][] matrix) { int[][] result = new int[SIZE][SIZE]; for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { result[SIZE - 1 - i][SIZE - 1 - j] = matrix[i][j]; } } return result; } //Поворот на 270° по часовой стрелке = 90° против часовой //Правило: result[SIZE-1-j][i] = matrix[i][j] public static int[][] rotate270Clockwise(int[][] matrix) { int[][] result = new int[SIZE][SIZE]; for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { result[SIZE - 1 - j][i] = matrix[i][j]; } } return result; } //Метод для вывода матрицы в консоль 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]); // выделяем 4 символа под число } System.out.println(); // переход на новую строку } } }