Ordinamento in C di un array di 13 numeri interi

Traccia
Scrivere un programma in C che crei casualmente un array di 13 interi, lo stampi a video, lo ordini con ordinamento crescente e quindi lo stampi a video nuovamente. 


Soluzione:

# include <stdio.h>
# include <stdlib.h> /* per usare rand () e srand () */
# include <time.h> /* per usare time () */
# define DIM 13
int main ()
{
int a [13];
int i ,j;
/* inizializza il generatore di numeri pseudo - casuali */
srand ( time (0));
/* inizializza e stampa l’array */
for (i =0; i < DIM ; i ++)
{
a[i ] = rand ();
printf ( "a [% d ] = %d \n" ,i ,a[i ]);
}
/* cicla per ogni posizione dell ’array ( tranne l’ultima ) */
for (i =0; i < DIM -1; i ++)
{
int pos_minimo =i;
int tmp ;
/* seleziona il minimo tra i successori di a[i] */
for (j=i +1; j < DIM ; j ++)
{
if (a [j]< a[ pos_minimo ])
pos_minimo = j;
}
/* mette il minimo in posizione i */
if (i != pos_minimo )
{
tmp = a[ i ];
a[i ]= a[ pos_minimo ];
a[ pos_minimo ]= tmp ;
}
}
/* stampa l’array ordinato */
printf ( " ARRAY ORDINATO :\ n" );
for (i =0; i < DIM ; i ++)
printf ( "a [% d ] = %d \n" ,i ,a[i ]);
}


Link di dev-c++ 5.11 tdm-gcc 4.9.2
http://sourceforge.net/projects/orwelldevcpp/files/Setup%20Releases/Dev-Cpp%205.11%20TDM-GCC%204.9.2%20Setup.exe/download


Esempi sui vettori sito Università di Pisa:
 http://www.di.unipi.it/~mezzetti/data/uploads/esercitazione3.pdf

Commenti