Advertisement
Uimin_Maxim

Задача 41

Jan 27th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.39 KB | None | 0 0
  1. //Уймин Максим
  2. //IT School, 2 группа
  3. //25.09.2015
  4. //Задача №16: Дана матрица размера  M x N (M и N – четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы.
  5. import java.io.PrintStream;
  6. import java.util.Scanner;
  7. public class Task41 {
  8.     public static PrintStream out = System.out;
  9.     public static Scanner in = new Scanner(System.in);
  10.     public static int[][] CreateMatrix (int matrix[][],int N,int M){
  11.         //Функция заполняет матрицу случайными числами и выводит её на экран
  12.         out.println("Original matrix:");
  13.         for (int i=0; i<N; i++ ){
  14.             for (int j=0;j<M;j++){
  15.                 matrix[i][j]=(-10) + (int)(Math.random()*((10-(-10))+1));
  16.                 out.print(matrix[i][j]+" ");
  17.             }
  18.             out.println();
  19.         }
  20.         return matrix;
  21.     }
  22.     public static int[][] Swap (int matrix[][],int N,int M){
  23.         //Функция меняет местами верхнюю левую и правую нижнюю четверти матрицы
  24.         out.println("Resulting matrix:");
  25.         int[][] quarter= new int[N/2][M/2];
  26.         for (int i=N/2;i<N;i++){
  27.             for (int j=M/2;j<M;j++){
  28.                 quarter[i-N/2][j-M/2]=matrix[i][j];
  29.             }
  30.         }
  31.         for (int i=0;i<N/2;i++){
  32.             for (int j=0;j<M/2;j++){
  33.                 matrix[N/2+i][M/2+j]=matrix[i][j];
  34.             }
  35.         }
  36.         for (int i=0;i<N/2;i++){
  37.             for (int j=0;j<M/2;j++){
  38.                 matrix[i][j]=quarter[i][j];
  39.             }
  40.         }
  41.         for (int i=0; i<N; i++ ){
  42.             for (int j=0;j<M;j++){
  43.                 out.print(matrix[i][j]+" ");
  44.             }
  45.             out.println();
  46.         }
  47.         return matrix;
  48.     }
  49.     public static void main (String [] args){
  50.         out.println("Enter the length of the string of the matrix (integer even number and greater than zero): ");
  51.         int N=in.nextInt();
  52.         while (N<=0||N%2>0){
  53.             out.println("Error: invalid number");
  54.             out.println("Enter the length of the string of the matrix (integer even number and greater than zero): ");
  55.             N=in.nextInt();
  56.         }
  57.         out.println("Enter the length of the column of the matrix (integer even number and greater than zero): ");
  58.         int M=in.nextInt();
  59.         while (M<=0||M%2>0){
  60.             out.println("Error: invalid number");
  61.             out.println("Enter the length of the string of the matrix (integer even number and greater than zero): ");
  62.             M=in.nextInt();
  63.         }
  64.         int[][] matrix=new int [M][N];
  65.         CreateMatrix(matrix,M,N);
  66.         Swap(matrix,M,N);
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement