//Nel 1° passaggio costruiremo quella parte del programma che estragga casualmente ed elenchi gli n elementi dell'array
//Per far ciò dobbiamo usilizzare l'srand, il rand e il for
//Nel 2° passaggio sfrutteremo il bubblesort al fine di ordinare gli elementi dell'array
//Per far ciò abbiamo bisogno delle variabilli intere che chiamaremo: k,j e il parametro temp
//Nel 3° passaggio affermeremo dopo l'ordinamento in senso crescente che il primo elemento è m, mentre il secondo è M
//Nella conclusione effettueremo la media
main()
{
int n;
int a[n];
int i;
int k,j; //Variabili utilizzare nel bubblesort
int temp;
int massimo;
int minimo;
float media;
printf ("\tBenvenuto!\t\n");
printf ("In questo programma dovra' decidere quali e quanti sono gli elementi dell'array.\n");
printf ("Scelga il numero di elementi dell'array: \t");
scanf ("%d", &n);
printf ("\nL'array e' composto da %d elementi.\n", n);
//Dopo aver deciso il numero di elementi dell'array vogliamo generarli casualmente.
srand(time(NULL)); //RICORDATI. Nel caso dovessi generare casualmente n numeri, l'srand deve essere messo FUORI dal ciclo for!
for (i=0;i<n; i++)
{
a = rand()%1000+1;
printf ("Inserisci il numero %d: %d \t\n", i, a);
}
//Utilizziamo il bubblesort attraverso due cicli for annidati e un if
//Inizio 2° passaggio
printf ("Ordiniamo ora i gli elementi del vettore \n");
{
for (k=0; k<n; k++)
{
for(j=0; j<n-k-1; j++) //Attenzione al seguente dettaglio. Prima n poi k poi 1. Non invertire.
{
if (a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for (k=0; k<n; k++)
{
printf ("%d\n", a[k]);
}
//Inizio 3° ed ultimo passaggio
//Adesso dopo l'ordimento possiamo dire qual è il valore M, m e la media.
printf ("La cifra col valore massimo tra gli elementi dell'array e': \n");
printf ("minimo = a[%d]\n", a[0]);
scanf ("%d", &a[0]);
printf ("massimo = a[%d]", a[n-1]);
scanf ("%d", &a[n-1]);
//Eseguiremo ora la media degli n valori.
}
return 0;
}
Come fare, nell'ultimo passaggio, la media degli n valori dell'array?