Come trovare il minimo e il massimo di un vettore in linguaggio C
Questo programma in linguaggio C trova il valore minimo e il valore massimo contenuto in un vettore numerico.
- #include <stdio.h>
- int main()
- {
- int vettore[5] = { 3, 2, 6, 5, 4 };
- int i, min,max;
- for (i=0;i<5;i++) {
- if (i==0) {
- min=vettore[i];
- max=vettore[i];
- }
- if (vettore[i]<min) min=vettore[i];
- if (vettore[i]>max) max=vettore[i];
- }
- printf("Minimo = %d \n", min );
- printf("Massimo = %d \n", max );
- return 0;
- }
Come funziona il programma
Nella riga 4 definisco un vettore con cinque elementi.
Nella riga 5 dichiaro tre variabili numeriche di tipo intero:
- la variabile i usata nella struttura iterativa come contatore
- la variabile min dove registrare il valore minimo
- la variabile max dove registrare il valore massimo
Nelle righe 6-13 leggo ogni elemento del vettore tramite la struttura iterativa for.
Alla prima iterazione assegno il valore del primo elemento del vettore alle variabili min e max tramite la struttura condizionale if nelle righe 7-10.
Nella riga 11 verifico se il valore dell'elemento corrente è inferiore al minimo. Se inferiore al minimo assegno alla variabile min il valore dell'elemento corrente.
if (vettore[i]<min) min=vettore[i];
Nella riga 12 verifico se il valore dell'elemento corrente è superiore al massimo. Se superiore al minimo assegno alla variabile max il valore dell'elemento corrente.
printf("Massimo = %d \n", max );
Infine, nelle righe 14-15 stampo il risultato delle variabili min e max.
L'output del programma è il seguente:
Minimo = 2
Massimo = 6
E così via.