Pages

viernes, 25 de enero de 2013

Ordenar creciente o decreciente una lista de N números Codigo Fuente en C++

Problema
Hacer un programa o algoritmo.
Se desea realizar un algoritmo que realice las siguientes tareas:
  • Leer una lista de números enteros
  • Visualizar dichos números
  • El algoritmo deberá pedir si yo deseo ordenar en sentido decreciente o creciente (burbuja)
Solución
  • Entrada: 10, 15, 20, 8
  • Salida: decreciente 20 15 10 8
Codigo Fuente en C++
#include <iostream>
using namespace std;
int main(){
     int cont=0,w=0,i,s,k,tem,c,num;
      cout<<"ingresa longitud del arreglo"<<endl;
       cin>>c;
       int N[c];
       while(cont!=c){
       cout<<"Ingresa numero"<<endl;
       cin>>num;
       N[cont]=num;
       cont++;
       }
       for(i=0;i<c;i++){
       cout<<N[i]<<" ";
       }
       cout<<endl<<"Seleccione: "<<endl;
       cout<<"(1) Orden Decreciente"<<endl;
       cout<<"(2) Orden Creciente"<<endl;
       cin>>s;
       if(s==1){
       while(w!=(c-1)){
  w=0;
  for (k=0;k<(c-1);k++){
   if(N[k]>=N[k+1]){
    w=w+1;
                       }else{
                    tem=N[k];
                    N[k]=N[k+1];
                    N[k+1]=tem;
                 }
               }
          }
       for(i=0;i<c;i++){
       cout<<N[i]<<" ";
       }
       }else{
       while(w!=(c-1)){
  w=0;
  for (k=0;k<(c-1);k++){
   if(N[k]<=N[k+1]){
    w=w+1;
                       }else{
                    tem=N[k];
                    N[k]=N[k+1];
                    N[k+1]=tem;
                 }
               }
          }
       for(i=0;i<c;i++){
       cout<<N[i]<<" ";
       }
       }
    return 0;
}

2 comentarios:

Anónimo dijo...

muy bien
gracias

Unknown dijo...

sin arreglo solo con una secuencia de numeros naturales como seria?

Publicar un comentario