/
Elyumusa
/
SberJavaCourseBeginner
Обзор
Документация
Войти
/
Elyumusa
/
SberJavaCourseBeginner
Код
Запросы
2
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/hw1/MatrixRotation.java
82 строки
2 KB
Elyumusa
Обновлено задание 3
26 мар 2025, 12:39
26 мар 2025, 12:39
338f6d8
Код
Авторство
О чём код?
package hw1; import java.util.Random; public class MatrixRotation { static Random random = new Random(); public static void main(String[] args) { int rows=8; int cols=8; int[][] myNumbers = generateMatrix(rows, cols); System.out.println("Original matrix:"); printMatrix(myNumbers); rotateClockwise(myNumbers); System.out.println("Rotated matrix (clockwise):"); printMatrix(myNumbers); } private static void rotateClockwise(int[][] matrix) { transpose(matrix); reverseRows(matrix); } private static void transpose(int[][] matrix){ for(int i=0;i<matrix.length;i++){ for(int j=i;j<matrix[i].length;j++){ int temp=matrix[i][j]; matrix[i][j]=matrix[j][i]; matrix[j][i]=temp; } } } private static void reverseRows(int[][] matrix){ for(int[] row:matrix){ for(int i=0, j=row.length-1;i<j;i++,j--){ int temp=row[i]; row[i]=row[j]; row[j]=temp; } } } private static void reverseColumns(int[][] matrix){ for(int i=0, j=matrix.length-1;i<j;i++,j--){ for(int col=0;col<matrix[i].length;col++){ int temp=matrix[i][col]; matrix[i][col]=matrix[j][col]; matrix[j][col]=temp; } } } private static void rotateMatrix(int[][] myNumbers, int[][] rotated) { for (int i = 0; i < myNumbers.length; i++) { for (int j = 0; j < myNumbers[i].length; j++) { rotated[j][myNumbers[i].length - i - 1] = myNumbers[i][j]; } } } private static void printMatrix(int[][] myNumbers) { for (int[] row : myNumbers) { for (int number : row) { System.out.print(number + " "); } System.out.println(); } } private static int[][] generateMatrix(int rows, int cols) { int[][] matrix = new int[rows][cols]; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { matrix[i][j] = random.nextInt(256); } } return matrix; }}