salve , dati 10 numeri randomici , calcolare i 3 massimi , ho provato a risolverlo, e mi è venuto il seguente codice in java :
import java.util.*;
import java.lang.Math;
public class JavaApplication {
private static Random random = new Random();
public static void main(String[] args) {
int[] x = new int[10];
int max1;
int max2;
int max3;
int i;
max1 = 0;
max2 = 0;
max3 = 0;
i = 0;
do {
x[i] = random.nextInt(100);
if (x[i] > max1) {
max3 = max2;
max2 = max1;
max1 = x[i];
} else {
if (x[i] > max2) {
max3 = max2;
max2 = x[i];
}
if (x[i] > max3) {
max3 = x[i];
}
}
i = i + 1;
} while (i < 10);
}
}
in basso trovate in allegato il diagramma a blocchi dell’ algoritmo , pultroppo non funziona sempre , alcune volte il secondo valore e il terzo massimo si eguagliano anche se nell array sono diversi … aiutatemi perfavore