jueves, 21 de julio de 2011

Programa para ordenar mitad de arreglo C++

Programa que ordena un arreglo de la mitad izquierda de menor a mayor y de la mitad derecha de mayor a menor.Programa compilado en Dev-C++ . Hacer las respectivas modificaciones para compiladores de Borland (TC++).


#include <iostream>
#include <conio.h>
#define max 30
using namespace std;
 main ()
{ int a[max],n,i,j,t,aux;
do{
cout<<"Ingrese las dimensiones del arreglo: ";
cin>>n;
system("cls");
if(n<2 || n>25)
cout<<"Ha ingresado un valor fuera del rango";
 }while(n<2 ||  n>25);
for (i=0;i<n;i++)
{cout<<"Ingrese el elemento nro "<<i+1<<" del arreglo: ";
 cin>>a[i];
 system("cls");
}
cout<<"El arreglo introducido es:"<<endl;
for (i=0;i<n;i++)
cout<<a[i]<<" ";
//Ordenamiento por metodo Burbuja
    //Primera mitad
    do{t=0;
for(i=0;i<n/2-1;i++)
if (a[i]> a[i+1])
 {aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
t=1;
 }
 }while (t!=0);
   //Segunda Mitad
do{t=0;
for (i=n/2; i<n-1 ; i++)
 if(a[i]< a[i+1])
{aux=a[i];
a[i]= a[i+1];
a[i+1]= aux;
t=1;
}
}while(t!=0);
cout<<"\nEl arreglo ordenado de la mitad izquierda de menor a mayor y de la mitad derecha de mayor a menor es:"<<endl;
for (i=0;i<n;i++)
 cout<<a[i]<<" ";
 getch();
 }

Captura de Ejecución:


Att: LordRamos

2 comentarios:

  1. Oye amigo, y como sería para sacar el promedio de cada mitad del vector, comparar el promedio, y determinar cual es el mayor

    ResponderEliminar
  2. Mas bien sería comparar los promedios de cada mitad del vector y determinar cual es el mayor, XD

    ResponderEliminar