CCorsi

Valore Massimo e Minimo in un Vettore in C

Spesso si ha la necessità di comprendere quali siano il valore massimo e minimo in un vettore. Proprio per questo nella lezione odierna provvederemo allo studio dei due costrutti che ci permetteranno ciò.

La prima cosa che faremo sarà quella di riempire un vettore, noi lo faremo in maniera dinamica tramite la funzione rand() in quanto il caricamento di un vettore non è argomento di importanza nella lezione odierna. Lezione del Caricamento dei Vettori.

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int vettore[10];
	int max, min;
	
	for(int i = 0; i < 10; i++)
	{
		vettore[i] = rand();
	}
	
	max = vettore[0];
	min = vettore[0];
	
	for (int i = 0; i < 10; i++)
	{
		if(max < vettore[i])
			max = vettore[i];
		if(min > vettore[i])
			min = vettore[i];
	}
	
	printf("Valore Massimo: %d \n", max);
	printf("Valore Minimo: %d \n\n", min);
	
	for (int i = 0; i < 10; i++)
	{
		printf("Valore %d: %d \n", i+1,vettore[i]);
	}	
}

Nella prima parte dichiariamo le variabili che conterranno il valore massimo e il minimo e il vettore da analizzare e subito dopo lo carichiamo dinamicamente come già in precedenza con la funzione rand().

Successivamente poniamo sia il valore massimo che il valore minimo pari al primo elemento del vettore.

A seguire abbiamo un ciclo for che analizza tutti gli elementi del vettore, se l’elemento del vettore che stiamo analizzando è maggiore del valore attuale di max allora lo poniamo max al valore dell’elemento e se l’elemento che stiamo analizzando è minore di min allora poniamo min al valore dell’elemento.

Infine stampiamo il valore delle due variabili massimo e minimo e per dimostrare l’efficienza dell’algoritmo stampiamo anche il contenuto del vettore.

LINK UTILI

Altro Sul C: https://www.developersumo.com/c/
I nostri Corsi: https://www.developersumo.com/corsi/
Pagina Instagram: https://www.instagram.com/developer_sumo/?hl=it
Le nostre App su Play Store: https://play.google.com/store/apps/developer?id=Developer+Sumo

What's your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0

You may also like

More in:C

2 Comments

  1. E se poi voglio stampare il vettore invertendo di posizione il massimo e il minimo? Come posso fare utilizzando un’unica funzione (dove trovo max e min e che stampi il vettore aggiornato)

    1. Ciao Samuele, grazie della domanda qui sotto allego il codice che fa al caso tuo. Io ho provveduto nel seguente modo, ho salvato la posizione in cui si trova il massimo e il minimo. Dopodiché ho scambiato il contenuto delle due posizione del vettore ed infine ho effettuato nuovamente la stampa. Nel caso avessi necessità di ulteriori informazioni puoi contattarmi all’indirizzo francesco.buscicchio@developersumo.com

      #include
      #include

      int main()
      {
      int vettore[10];
      int max, min;
      int indexMax, indexMin;

      for(int i = 0; i < 10; i++) { vettore[i] = rand(); } max = vettore[0]; indexMax = 0; min = vettore[0]; for (int i = 0; i < 10; i++) { if(max < vettore[i]) { max = vettore[i]; indexMax = i; } if(min > vettore[i])
      {
      min = vettore[i];
      indexMin = i;
      }
      }

      printf(“–VETTORE PRIMA DELLA MODIFICA–\n”);
      for (int i = 0; i < 10; i++) { printf("Valore %d: %d \n", i+1,vettore[i]); } printf("\n\nValore Massimo: %d \n", max); printf("Valore Minimo: %d \n\n", min); printf("La posizione del Massimo e': %d \n", indexMax); printf("La posizione del Minimo e': %d \n\n", indexMin); int scambio; scambio = vettore[indexMax]; vettore[indexMax] = vettore[indexMin]; vettore[indexMin] = scambio; printf("--VETTORE DOPO DELLA MODIFICA--\n"); for (int i = 0; i < 10; i++) { printf("Valore %d: %d \n", i+1,vettore[i]); } }

Leave a reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *