1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
// 3x04: Ordenar números de un vector /* Escribe un programa que pida una secuencia de enteros por teclado terminada en 0 (de longitud desconocida pero no superior a 1000), la almacene en un vector, ordene sus componentes de menor a mayor y muestre los datos ordenados por pantalla a continuación. */ #include <stdio.h> main(){ system("clear"); int num[1000]; int cont=0, i, j, temp; // Se solicitan los números: printf("\vIntroduzca tantos numeros como desee y termine con un 0.\n"); do{ scanf( "%i", &num[cont] ); cont++; }while( num[cont-1] != 0 ); // Se ordenan los componentes del vector: for( i=0; i<cont-2; i++ ){ // Se realizan tantas vueltas como números introducidos -2 (por el 0 y \0) for( j=0; j<cont-2; j++ ){ // Se realiza el mismo bucle y se ordenan dos números adyacentes. if( num[j] > num[j+1] ){ // Si el primer numero es mayor al segundo se cambia el orden. temp = num[j]; num[j] = num[j+1]; num[j+1] = temp; }; }; }; // Se imprime el vector: printf( "Sus numeros ordenados son:\n\v" ); for( j=0; j<cont-1; j++ ){ if( j!=cont-2 ){ printf( "%i, ", num[j] ); } else{ printf( "%i.\n\v\v", num[j] ); }; }; }; |