Ordenar N números en forma descendente o ascendente

#include <iostream>
#include <string.h>

using namespace std;

int main ()
{
    float n[100], c;
    char orden[3];
    setlocale(LC_CTYPE, "Spanish"); //Tildes
    cout << "Este programa ordena N números: "<<endl;
	cout << "Ingrese la cantidad de números a ordenar: ";
	cin>>c;
	while (strcmp(orden, "asc") && strcmp(orden, "des")){//Verifica que sea asc o des unicamente.
	cout << "Digite asc para ordenarlos de forma ascendente o des para ordenarlos de forma descendente: ";
	cin>>orden;	
	}
	for (int i=1;i<=c;i++){
		cout<<"Ingrese el número: ";
		cin>>n[i];
	}

    float Temp; 
    	for(int i=1;i<=c;i++){ 
            for(int j=1;j<=c-1;j++){
            	
            	if (strcmp(orden, "asc")){
            		if(n[j]<n[j+1]){// cambia "<" a ">" para cambiar la manera de ordenar 
                    Temp=n[j];
                    n[j]=n[j+1]; 
                    n[j+1]=Temp;
                    }
				}
				
				if (strcmp(orden, "des")){
            		if(n[j]>n[j+1]){// cambia "<" a ">" para cambiar la manera de ordenar 
                    Temp=n[j];
                    n[j]=n[j+1]; 
                    n[j+1]=Temp;
                    }
				}      	
                }
            }

	cout << "Los números ordenados son: "<< endl;
     
    for(int j=1;j<=c;j++){
            cout << n[j]<< endl;
    }  
	
    system ("pause");
    return 0;
}

0 comentarios:

Publicar un comentario