Testo
Chiedere a tastiera quanti elementi si vogliono caricare in un vettore di interi (max 100).
Caricare il vettore da tastiera con dei valori interi, in numero stabilito al passo precedente.
Ordinare il vettore in senso crescente col metodo dello scambio, quindi visualizzarlo.
Ordinare il vettore in senso decrescente sfruttando il fatto che il vettore è già ordinato in senso crescente quindi
visualizzarlo.
Utilizzare quattro funzioni : una per caricare il vettore, una per leggere, una per ordinare in senso crescente ed un'ultima
per ottenere la funzione ordinata in verso opposto.
Ed ecco qui sotto il listato (dove potrai fare 'Copia' -> 'Incolla')
//-----------------------------------------------------------
/* ordinamento degli elementi di un vettore generico
di max 100 elementi interi
Ordinamento crescente e decrescente
----------------------------------------------------------
- viene creato un tipo 'vettore' di 100 elementi interi
- vengono utilizzate 4 funzioni ognuna con il vettore ed il
numero max degli elementi immessi come parametri
- si carica il vettore, si visualizza, si ordina in senso
crescente, si visualizza, si ordina all'opposto e si visualizza
-----------------------------------------------------------
Indentazione utilizzata : Allmann */
#include
#include
using namespace std;
// definizioni
typedef int vettore[100];
vettore v;
int elementi,ripeti;
// prototipi delle funzioni
void visualizza(vettore v,int d);
void carica(vettore v,int d);
void ordina(vettore v,int d);
void ribalta(vettore v,int d);
int main()
{
do
{
cout<<"\n === ORDINAMENTO VETTORE ===";
cout<<"\n";
cout<<"\n Inserire il numero max (< 101) di elementi del vettore : ";
cin >> elementi;
cout<<"\n";
carica(v, elementi);
cout<<"\n QUESTO E' IL VETTORE INIZIALE : ";
visualizza(v, elementi);
ordina(v, elementi );
cout<<"\n QUESTO E' IL VETTORE ORDINATO IN MODO CRESCENTE : ";
visualizza(v, elementi);
ribalta(v, elementi);
cout<<"\n QUESTO E' IL VETTORE ORDINATO IN MODO DECRESCENTE : ";
visualizza(v, elementi);
cout<<"\n Vuoi continuare ancora?";
cout<<"\n SI = 1 NO = 0 : ";
cin>>ripeti;
}
while(ripeti==1);
}
// corpo della funzione 'carica'
void carica(vettore v,int mx)
{
int i;
for(i=0;i>v[i];
}
}
// corpo della funzione 'visualizza'
void visualizza(vettore v,int mx)
{
int i;
for(i=0;iv[j+1])
{
mem=v[j];
v[j]=v[j+1];
v[j+1]=mem;
}
}
n=n-1;
}
}
// corpo della funzione 'ribalta'
void ribalta(vettore v,int mx)
{
int i,tmp;
for(i=0; i< mx/2; i++)
{
tmp=v[i];
v[i]=v[mx - i - 1];
v[ mx - i - 1]=tmp;
}
}
// Fine programma