// Program 7: Largest Elements and Sorted Matrix Rows import java.util.*; class MatrixRank { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if (n < 1 || n > 20) { System.out.println("Invalid order"); return; } int[][] a = new int[n][n]; int first = -1; int second = -1; int r1 = 0; int c1 = 0; int r2 = 0; int c2 = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { a[i][j] = sc.nextInt(); int x = a[i][j]; if (x > first) { second = first; r2 = r1; c2 = c1; first = x; r1 = i; c1 = j; } else if (x > second && x < first) { second = x; r2 = i; c2 = j; } } } System.out.println("Largest: " + first + " at " + (r1 + 1) + "," + (c1 + 1)); if (second >= 0) { System.out.println("Second: " + second + " at " + (r2 + 1) + "," + (c2 + 1)); } for (int i = 0; i < n; i++) { for (int j = 1; j < n; j++) { int key = a[i][j]; int k = j - 1; while (k >= 0 && a[i][k] > key) { a[i][k + 1] = a[i][k]; k--; } a[i][k + 1] = key; } } for (int[] row : a) { for (int x : row) { System.out.print(x + " "); } System.out.println(); } } }