class Massimo {
public static void main(String[] args) {
int x[]={12, 45, 78, 11, 44, 77, 10, 43, 76, 9, 42, 75, 8, 41, 74, 7, 40, 73 , 6, 39, 72, 5, 38, 71, 4, 37, 70, 3, 36, 69, 2};
La prima cosa da fare è determinare il numero di
elementi di cui il vettore è composto. Contare tutti
gli elementi a mano richiede tempo. Inoltre, ogni volta che
si deve aggiungere un nuovo valore al vettore, occorre modificare
il codice per tenere conto dell'aumento o diminizione del numero
di elementi. Per questa ragione, definiamo una variabile nella
quale mettiamo il numero di elementi:
numeroelementi=x.length;
Per calcolare il massimo, seguiamo l'algoritmo per cui assumiamo
inizialmente che il massimo elemento è il primo, e poi
facciamo una scansione degli elementi del vettore. Se troviamo
un elemento che è maggiore del massimo, quello è
il nuovo massimo. In altre parole:
massimo=x[0];
Mentre il ciclo diventa:
for(i=0; i<=numeroelementi-1; i=i+1) {
if( x[i]>massimo ) {
massimo=x[i];
}
}
Si noti che gli elementi del vettore partono da x[0].
Il vettore ha numeroelementi componenti, per cui l'ultimo
elemento è x[numeroelementi-1]. Questo è
il motivo per cui il ciclo deve partire dal valore 0 e arrivare
al valore numeroelementi-1.Alla fine della iterazione la variabile massimo contiene il valore del massimo elemento del vettore. Il programma completo è Massimo.java, in cui al posto della variabile numeroelementi si usa direttamente x.length come valore finale del ciclo for.
/*
Trova il massimo elemento di un vettore.
*/
class Massimo {
public static void main(String[] args) {
int x[]={12, 45, 78, 11, 44, 77, 10, 43, 76, 9, 42, 75, 8, 41, 74, 7, 40, 73, 6, 39, 72, 5, 38, 71, 4, 37, 70, 3, 36, 69, 2};
int i;
int massimo;
massimo=x[0];
for(i=0; i<=x.length-1; i=i+1) {
if( x[i]>massimo ) {
massimo=x[i];
}
}
System.out.println("Il massimo e' "+massimo);
}
}