viernes, 16 de septiembre de 2011

Ordenar vector

Ordena un vector ascendente o descendentemente según se le indique


#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;

int *V; //Este vector lo usaré en todo el programa
int n;

int numeroElementos()
{
cin>>n;

return n;
}

void leerVector()//Ya no envio el vector porque lo declaré globalmente
{
for(int i=0;i<n;i++)
{
cout<<"V["<<i+1<<"] = ";
cin>>V[i];
}
}

void mostrarVector()
{
for(int i=0;i<n;i++)
cout<<"["<<i+1<<"] = "<<V[i]<<"\n";
}

void intercambio(int i,int j)
{
int temp;

temp=V[i];
V[i]=V[j];
V[j]=temp;
}

void ordenarVector(int forma)
{
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(forma==1)
{
if(V[i]>V[j])
intercambio(i,j);
}
else
{
if(V[i]<V[j])
intercambio(i,j);
}
}
}
}


void main()
{
int forma;

cout<<"Numero de elementos: ";

n=numeroElementos();

cout<<endl;

V = new int[n];//Dimensionamos el vector

leerVector();

cout<<endl<<"(1) Ascendentemente o (2) Descendentemente: ";

do{
cin>>forma;
}while(forma<=0 || forma>2);

ordenarVector(forma);

cout<<endl<<"Vector Ordenado :"<<endl<<endl;

mostrarVector();

_getch();
}

No hay comentarios:

Publicar un comentario