* Obiettivo:ottenere un insieme di elementi,ordinato in maniera decrescente L’ordinamento per Selezione seleziona l’elemento con valore maggiore e lo scambia con il primo elemento del vettore. Tra gli N-1 elementi rimanenti viene poi ricercato nuovamente quello maggiore e scambiato con il secondo e così via fino all’ultimo elemento. * Osservazione : Per implementare l’Algoritmo abbiamo bisogno di 2 indici : Uno che tiene conto della posizione in cui si trova l’elemento da ordinare ( primo, secondo, terzo, … ) Uno che permette di scorrere l’array alla ricerca del valore maggiore 5 6 * 3 8 2 I passi da seguire sono i seguenti : 1) Posizionamento sul primo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il primo elemento dell’array 5 Indice1=0 Indice2=0 6 3 * 8 2 I passi da seguire sono i seguenti : 1) Posizionamento sul primo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il primo elemento dell’array 5 Indice1=0 Indice2=1 A[0]<A[1] scambio 6 3 * 8 2 I passi da seguire sono i seguenti : 1) Posizionamento sul primo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il primo elemento dell’array 6 Indice1=0 Indice2=1 A[0]<A[1] scambio 5 3 * 8 2 I passi da seguire sono i seguenti : 1) Posizionamento sul primo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il primo elemento dell’array 6 Indice1=0 Indice2=2 A[0]>A[2] No scambio 5 3 * 8 2 I passi da seguire sono i seguenti : 1) Posizionamento sul primo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il primo elemento dell’array 6 Indice1=0 Indice2=3 A[0]>A[3] scambio 5 3 * 8 2 I passi da seguire sono i seguenti : 1) Posizionamento sul primo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il primo elemento dell’array 8 Indice1=0 Indice2=3 A[0]>A[3] scambio 5 3 * 6 2 I passi da seguire sono i seguenti : 1) Posizionamento sul primo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il primo elemento dell’array 8 Indice1=0 Indice2=4 A[0]<A[4] No scambio 5 3 * 6 2 I passi da seguire sono i seguenti : 1) Posizionamento sul secondo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il secondo elemento dell’array 8 Indice1=1 Indice2=1 A[1]=A[1] No scambio 5 3 * 6 2 I passi da seguire sono i seguenti : 1) Posizionamento sul secondo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il secondo elemento dell’array 8 Indice1=1 Indice2=2 A[1]>A[2] No scambio 5 3 * 6 2 I passi da seguire sono i seguenti : 1) Posizionamento sul secondo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il secondo elemento dell’array 8 Indice1=1 Indice2=3 A[1]<A[3] scambio 5 3 * 6 2 I passi da seguire sono i seguenti : 1) Posizionamento sul secondo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il secondo elemento dell’array 8 Indice1=1 Indice2=3 A[1]<A[3] scambio 6 3 * 5 2 I passi da seguire sono i seguenti : 1) Posizionamento sul secondo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il secondo elemento dell’array 8 Indice1=1 Indice2=4 A[1]>A[4] No scambio 6 3 * 5 2 I passi da seguire sono i seguenti : 1) Posizionamento sul terzo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il terzo elemento dell’array 8 Indice1=2 Indice2=2 A[2]=A[2] No scambio 6 3 * 5 2 I passi da seguire sono i seguenti : 1) Posizionamento sul terzo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il terzo elemento dell’array 8 Indice1=2 Indice2=3 A[2]<A[3] scambio 6 3 * 5 2 I passi da seguire sono i seguenti : 1) Posizionamento sul terzo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il terzo elemento dell’array 8 Indice1=2 Indice2=3 A[2]<A[3] scambio 6 5 * 3 2 I passi da seguire sono i seguenti : 1) Posizionamento sul terzo elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il terzo elemento dell’array 8 Indice1=2 Indice2=4 A[2]>A[4] No scambio 6 5 * 3 2 I passi da seguire sono i seguenti : 1) Posizionamento sul quarto elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il quarto elemento dell’array 8 Indice1=3 Indice2=3 A[3]=A[3] No scambio 6 5 * 3 2 I passi da seguire sono i seguenti : 1) Posizionamento sul quarto elemento dell’array 2) Ricerca dell’elemento più grande e scambio con il quarto elemento dell’array 8 Indice1=3 Indice2=4 A[3]>A[4] No scambio 6 5 * 3 2 #include <iostream.h> Using namespace std; int x,N=5,temp; int V[N]; main() { for (int i=0;i<N;i++) // inserimento del vettore { cout<<"Inserire l'elemento: "<<i+1<<" "; cin>>V[i]; } for (int i=0;i<N-1;i++) // dal primo al 5° elemento { x = i+1; do { if (V[ i ] <[ i+1 ]) { // effettuare scambio degli elementi Con FOR e temp = V[ i ]; WHILE V[ i ] = V[ x ]; V[ x ] = temp; } x++; } while( x < N ); } // visualizzazione del vettore ordinato mediante l'algoritmo cout<<"Il vettore ordinato e\' il seguente : "<<endl; for (int i=0;i<N;i++) cout<<V[i]<<endl; } // chiude il main for (int i=0;i<N-1;i++) // dal primo al 5° elemento { for (int x=i+1;x<N;x++) // dal secondo al 6° elemento { if (V[ i ] <[ x ]) { // effettuare scambio degli elementi Con 2 temp = V[ i ]; cicli FOR V[ i ] = V[ x ]; annidati V[ x ] = temp; } } } // visualizzazione del vettore ordinato mediante l'algoritmo cout<<"Il vettore ordinato e\' il seguente : "<<endl; for (int i=0;i<N;i++) cout<<V[i]<<endl; } // chiude il main