/*
  Si ottengano due numeri N x M dall'utente.
  Si riempiano due array A e B  di N righe e M colonne con numeri interi casuali tra 0 e 100.
  Dare in output in numeri assoluti ed in percentuali quanti numeri di A sono maggiori,
  quanti minori e quanti eguali ai corrispondenti numeri nell'array B.
*/

import javax.swing.JOptionPane;
class ExArray_01 {
  public static void main(String[] args) {
    int N = Integer.parseInt(JOptionPane.showInputDialog("Numero Righe"));
    int M = Integer.parseInt(JOptionPane.showInputDialog("Numero Colonne"));
    int[][] Array1 = new int[N][M];
    int[][] Array2 = new int[N][M];
    //riempie di numeri casuali
    int j, k;
    for (j=0; j<Array1.length; j++)
      for (k=0; k<Array1[0].length; k++) {
        Array1[j][k] = (int) (Math.random() * 101);
        Array2[j][k] = (int) (Math.random() * 101);
      }
    
    //Determinazione dei maggiori, minori ed uguali
    int max=0, min=0, equal=0;
    for (j=0; j<Array1.length; j++)
      for (k=0; k<Array1[0].length; k++) {
        if (Array1[j][k] > Array2[j][k]) max++;
        else if (Array1[j][k] < Array2[j][k]) min++;
             else equal++;
      }
      
    //stampa delle matrici
    System.out.println("\t  Array 1\t\t\t\t  Array 2");
    for (j=0; j<Array1.length; j++) {
      //fila di Array1
      for (k=0; k<Array1[0].length; k++)
          System.out.print("\t" + Array1[j][k]);
      //fila di Array2
      System.out.print("\t\t");
      for (k=0; k<Array2[0].length; k++)
          System.out.print("\t" + Array2[j][k]);
      
      System.out.println();
    }
    int item = N*M;
    //stampa statistiche
    System.out.println("\nNumeri maggiori: " + max + "  (" + (float) max / item * 100 + "%)");
    System.out.println("Numeri minori: " + min + "  (" + (float) min / item * 100 + "%)");
    System.out.println("Numeri uguali: " + equal + "  (" + (float) equal / item * 100 + "%)");
            
   System.exit(0);
  }
}