Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/05/2011, 06:08
Z3r9i0
 
Fecha de Ingreso: febrero-2006
Mensajes: 4
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Programa en c++, que dada una secuencia de numeros enteros las muestre ord

Hola Julio1991, bueno para lo que es ordenamiento tienes una variedad de opciones según el problema que pretendas resolver, existen varis algoritmos de ordenamiento como son : (Ord. por inserción,Ord. por Selección, Ord. por Intercambio directo (Metodo Burbuja), Mergesort,Quicksort, etc ...). De entre ellos tu podras escoger cual se adecua para darle solucion a tu problema.

Para este caso te pongo un código de ordenamiento por Selección para 100 números, mediante el uso de un Array de 100 números llamado Conjunto, los valores q se asignan a Conjunto son de manera aleatoria con la funcion rand(), ya que seria incomodo introducir los 100 numeros cada vez que compilamos.

weno aki te dejo el código.

Código C++:
Ver original
  1. #include <iostream>
  2. #define MaxNumeros 100
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8.     int Conjunto[MaxNumeros];
  9.     int IndiceNroMenor,i,j,tmp;
  10.     srand((unsigned)time(NULL));
  11.  
  12.    
  13.     //ASIGNA VALORES ALEATORIOS AL CONJUNTO DE 100 NUMEROS
  14.     for(i=0;i<MaxNumeros;i++)
  15.     {
  16.         Conjunto[i]=rand()&#37;100+1; //OJO AKI VA   ------>   Conjunto[i]=rand()%100+1;  <------- pero cuando uso Highlight no muestra como deberia, espero y se pueda corregir
  17.     }
  18.     //IMPRIME EL CONJUNTO DE 100 NUMEROS ALEATORIOS
  19.     for(i=0;i<MaxNumeros;i++)
  20.       cout<<Conjunto[i]<<" , ";
  21.    
  22.     cout<<endl<<endl;
  23.    
  24.     //ORDENAMIENTO POR SELECCION
  25.     for(j=0;j<MaxNumeros;j++)    
  26.     {
  27.        
  28.         IndiceNroMenor=j; //SUPONE QUE EL PRIMER ELEMENTO ES EL INDICE DEL MENOR NUMERO
  29.         for(i=j;i<MaxNumeros;i++)
  30.         {
  31.           if(Conjunto[i]<Conjunto[IndiceNroMenor])//EVALUA EL VALOR DEL NUMERO QUE CONTIENE EL INDICE MENOR Y SI ENCUENTRA QUE i POSEE UN INDICE MENOR
  32.             IndiceNroMenor=i;//IDICE MENOR CAMBIA A i
  33.         }
  34.         //INTERCAMBIA LOS VALORES DEL CONJUNTO DE NUMEROS SEGUN LOS INDICES
  35.         tmp=Conjunto[IndiceNroMenor];
  36.         Conjunto[IndiceNroMenor]=Conjunto[j];
  37.         Conjunto[j]=tmp;
  38.     }
  39.    
  40.     //IMPRIME EL CONJUNTO DE 100 NUMEROS ORDENADOS POR EL METODO DE SELECCION
  41.     for(i=0;i<MaxNumeros;i++)
  42.       cout<<Conjunto[i]<<" , ";
  43.    
  44.     cout<<endl;
  45.     system("PAUSE");
  46.     return EXIT_SUCCESS;
  47. }
Espero te sirva de ayuda, esta es la primera vez que posteo en esta comunidad y espero compartir experiencias, saludos a todos los foreros.

hasta pronto.

Última edición por Z3r9i0; 20/05/2011 a las 06:14