Ecco la soluzione ai problemi proposti sul Life.
1) Riempimento di un array di numeri interi, con valori casuali da 1 a 100
class RandomIntegerArray { public static void main(String[] argv) { //Creazione di un array di interi contenente 10 elementi int[] array = new int[10]; for (int i=0; i<array.length; i++) array[i] = (int)( (Math.random() * 100) + 1 ); } }
1.2)Ordinamento decrescente dell’array creato
class SortArray { public static void main(String[] argv) { //Array di 10 elementi, di tipo intero int[] array = new int[10]; //Ordinamento dell'array for (int i=0; i< array[j]) { int app = array[i]; array[i] = array[j]; array[j] = app; } } }
1.3) Ricerca del massimo valore presente nell’array
class FindMaxValue { public static void main(String[] argv) { //Array di 10 elementi di tipo intero int[] array = new int[10]; //Elemento contenente il valore massimo int max = array[0]; //Ricerca del valore massimo for (int i=1; i array[i]) max = array[i]; } }
Per chi volesse scaricarsi il codice del punto 1, ecco il file: FillAndSortRandomIntegerArray.java
2) Riempimento di una matrice di numeri float contenente valori compresi tra 0 e 1
2.1) Ordinamento crescente della matrice in modo da avere nella cella (0, 0) il valore minimo e nella cella (n, n) il valore massimo
public class FillAndSortRandomFloatMatrix { /* La funzione 'printMatrix' stampa la matrice passata tra i parametri, inserendo alla fine di ogni riga e in coda ad ogni colonna la sommatoria rispettivamente per riga e per colonna. */ public static void printMatrix(float[][] m) { float sumRighe = 0; float[] sumColonne = new float[m.length]; for (int i=0; i<m.length; i++) { for (int j=0; j<m[i].length; j++) { System.out.printf(" %.1f", m[i][j]); sumRighe += m[i][j]; sumColonne[i] += m[j][i]; } System.out.printf(" - S: %.1f\n", sumRighe); sumRighe = 0; } for (int i=0; i<sumColonne.length; i++) System.out.printf(" | "); System.out.println(); for (int i=0; i<sumColonne.length; i++) System.out.printf(" %.1f", sumColonne[i]); System.out.println(); } /* La funzione ordina la matrice prima per righe e successivamente per colonne. Essendo una funzione 'static' per ritornare la matrice ordinata ho impostato come valore di ritorno una matrice float */ public static float[][] sortMatrix(float[][] matrix) { //Ordinamento per righe for (int i=0; i<matrix.length; i++) for (int k=0; k<matrix[i].length-1; k++) for (int h=k; h<matrix[i].length; h++) if (matrix[i][k] > matrix[i][h]) { float app = matrix[i][h]; matrix[i][h] = matrix[i][k]; matrix[i][k] = app; } //Ordinamento per colonne for (int i=0; i<matrix.length; i++) for (int k=0; k<matrix[i].length-1; k++) for (int h=k; h<matrix[i].length; h++) if (matrix[k][i] > matrix[h][i]) { float app = matrix[h][i]; matrix[h][i] = matrix[k][i]; matrix[k][i] = app; } //Ritorno della matrice ordinata return matrix; } /* Nel main viene creata la matrice (in questo caso di 4x4 elementi) Successivamente viene riempita con valori casuali, e ordinata. */ public static void main(String[] argv) { float[][] matrix = new float[4][4]; //Riempimento della matrice con valori casuali for (int i=0; i<matrix.length; i++) for (int j=0; j<matrix[i].length; j++) matrix[i][j] = (float)( Math.random() ); //Stampa della matrice printMatrix(matrix); //Ordinamento della matrice matrix = sortMatrix(matrix); //Stampa della matrice ordinata System.out.printf("\n\nStampa Matrice Ordinata:\n"); printMatrix(matrix); } }
Per chi volesse scaricarsi il codice del punto 2: fillandsortrandomfloatmatrix

Thanks! Nice post.