/*
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);
}
}