Esercizi svolti di Informatica Generale

Esercizi svolti di Informatica

Programma C++

Carica vettore da tastiera, lo ordina e lo visualizza

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

						


Ritorna all'elenco degli esercizi disponibili