Hacer un programa que lea diez valores enteros en un array y los muestre en pantalla. Después que los ordene de menor a mayor y los vuelva a mostrar. Y finalmente que los ordene de mayor a menor y los muestre por tercera vez. Para ordenar la lista usar una función que implemente el método de la burbuja y que tenga como parámetro de entrada el tipo de ordenación, de mayor a menor o de menor a mayor. Para el array usar una variable global.
Fácil no?. He utilizado el método de la burbuja para ello, utilizando una librería creada por mi que contiene una función que implementa el método de la burbuja. Ya la había probado antes y funcionaba perfectamente. Ahora bien, resulta que cuando he ido a usarla, me ha ocurrido lo siguiente:
En fin, como se puede observar al introducir la lista de 10 números que yo he tecleado, el programa me muestra otra lista con varios 0 y un gran numero. Y ya a partir de ahí se desmorona todo. Lo que entiendo es como el programa no lee la lista adecuadamente... Este es el código:
Código
/*2.Hacer un programa que lea diez valores enteros en un array y los muestre en pantalla. Después que los ordene de menor a mayor y los vuelva a mostrar. Y finalmente que los ordene de mayor a menor y los muestre por tercera vez. Para ordenar la lista usar una función que implemente el método de la burbuja y que tenga como parámetro de entrada el tipo de ordenación, de mayor a menor o de menor a mayor. Para el array usar una variable global. */ #include <iostream> #include <Arrays.h> using namespace std; int main() { int lista[10], i; cout << "Introduce 10 valores enteros: " << endl; for(i=0; i<=9; i++) { cin >> lista[10]; } cout << "\nLista original: " << endl; for(i=0; i<=9; i++) { cout << lista[i] << " "; } ordVect(lista, 10, 0); cout << "\nLista de menor a mayor: " << endl; for(i=0; i<=9; i++) { cout << lista[i] << " "; } ordVect(lista, 10, 1); cout << "\nLista de menor a mayor: " << endl; for(i=0; i<=9; i++) { cout << lista[i] << " "; } cin.get(); return 0; }
Espero con curiosidad sus respuestas...
Un saludo