Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Programa en c++, que dada una secuencia de numeros enteros las muestre ordenados de m

Estas en el tema de Programa en c++, que dada una secuencia de numeros enteros las muestre ordenados de m en el foro de C/C++ en Foros del Web. Hola , tengo que hace un programa en c++, que dada una secuencia de numeros enteros las muestre ordenados de menor a mayor... soy nuevo ...
  #1 (permalink)  
Antiguo 20/05/2011, 03:55
 
Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta Programa en c++, que dada una secuencia de numeros enteros las muestre ordenados de m

Hola , tengo que hace un programa en c++, que dada una secuencia de numeros enteros las muestre ordenados de menor a mayor... soy nuevo en esto y no se como poner que el maximo numeros introducidos sea 100..

He pensado en una array pero no se despues como ordenarlo.
¿Por favor me podeis ayudar?
gracias
  #2 (permalink)  
Antiguo 20/05/2011, 06:08
 
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

Etiquetas: enteros, numeros, programa, secuencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:28.