Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Уймин Максим
- //IT School, 2 группа
- //25.09.2015
- //Задача №16: Дана матрица размера M x N (M и N – четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы.
- import java.io.PrintStream;
- import java.util.Scanner;
- public class Task41 {
- public static PrintStream out = System.out;
- public static Scanner in = new Scanner(System.in);
- public static int[][] CreateMatrix (int matrix[][],int N,int M){
- //Функция заполняет матрицу случайными числами и выводит её на экран
- out.println("Original matrix:");
- for (int i=0; i<N; i++ ){
- for (int j=0;j<M;j++){
- matrix[i][j]=(-10) + (int)(Math.random()*((10-(-10))+1));
- out.print(matrix[i][j]+" ");
- }
- out.println();
- }
- return matrix;
- }
- public static int[][] Swap (int matrix[][],int N,int M){
- //Функция меняет местами верхнюю левую и правую нижнюю четверти матрицы
- out.println("Resulting matrix:");
- int[][] quarter= new int[N/2][M/2];
- for (int i=N/2;i<N;i++){
- for (int j=M/2;j<M;j++){
- quarter[i-N/2][j-M/2]=matrix[i][j];
- }
- }
- for (int i=0;i<N/2;i++){
- for (int j=0;j<M/2;j++){
- matrix[N/2+i][M/2+j]=matrix[i][j];
- }
- }
- for (int i=0;i<N/2;i++){
- for (int j=0;j<M/2;j++){
- matrix[i][j]=quarter[i][j];
- }
- }
- for (int i=0; i<N; i++ ){
- for (int j=0;j<M;j++){
- out.print(matrix[i][j]+" ");
- }
- out.println();
- }
- return matrix;
- }
- public static void main (String [] args){
- out.println("Enter the length of the string of the matrix (integer even number and greater than zero): ");
- int N=in.nextInt();
- while (N<=0||N%2>0){
- out.println("Error: invalid number");
- out.println("Enter the length of the string of the matrix (integer even number and greater than zero): ");
- N=in.nextInt();
- }
- out.println("Enter the length of the column of the matrix (integer even number and greater than zero): ");
- int M=in.nextInt();
- while (M<=0||M%2>0){
- out.println("Error: invalid number");
- out.println("Enter the length of the string of the matrix (integer even number and greater than zero): ");
- M=in.nextInt();
- }
- int[][] matrix=new int [M][N];
- CreateMatrix(matrix,M,N);
- Swap(matrix,M,N);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement