Advertisement
alyoshinkkaa

Untitled

Jul 29th, 2023
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.14 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Scanner;
  3.  
  4. public class Reverse {
  5.      // :NOTE: numStr? -- maybe you want to name it "row" or "line", String is a class in Java?
  6.     public static int[][] addLineInMatrix(int[][] matrixInput, int numStr) {
  7.         if (matrixInput.length == numStr + 1) {
  8.             int[][] matrixOutput = new int[matrixInput.length * 2][];
  9.             for (int i = 0; i < matrixInput.length; i++) {
  10.                 matrixOutput[i] = new int[matrixInput[i].length];
  11.                 System.arraycopy(matrixInput[i], 0, matrixOutput[i], 0, matrixInput[i].length);
  12.             }
  13.             Arrays.fill(matrixOutput, matrixInput.length, matrixInput.length*2, new int[1]);
  14.             matrixInput = matrixOutput;
  15.         }
  16.         return matrixInput;
  17.     }
  18.     public static int[] addDigitInMatrix(int[] arrayInput, int numDig) {
  19.         if (arrayInput.length == numDig + 1) {
  20.             int[] arrayOutput = new int[arrayInput.length * 2];
  21.             System.arraycopy(arrayInput, 0, arrayOutput, 0, arrayInput.length);
  22.             arrayInput = arrayOutput;
  23.         }
  24.         return arrayInput;
  25.     }
  26.     public static void main(String[] args) {
  27.         Scanner in = new Scanner(System.in);
  28.         int[][] matrix = new int[1][1];
  29.         int[] matrixSize = new int[1];
  30.         // :NOTE: same - naming
  31.         int numStr = 0;
  32.         int numElem = 0;
  33.         while (in.hasNextLine()) {
  34.             Scanner str = new Scanner(in.nextLine());
  35.             while (str.hasNextInt()) {
  36.                 matrix[numStr][numElem] = str.nextInt();
  37.                 matrix[numStr] = addDigitInMatrix(matrix[numStr], numElem);
  38.                 numElem++;
  39.             }
  40.             matrix = addLineInMatrix(matrix, numStr);
  41.             matrixSize = addDigitInMatrix(matrixSize, numStr);
  42.             numStr++;
  43.             matrixSize[numStr - 1] = numElem;
  44.             numElem = 0;
  45.         }
  46.         in.close();
  47.         for (int i = numStr - 1; i > -1; i--) {
  48.             for (int j = matrixSize[i] - 1; j > -1; j--) {
  49.                 System.out.print(matrix[i][j] + " ");
  50.             }
  51.             System.out.println();
  52.         }
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement