Código:
El problema es el siguiente, en primer lugar no quiero que se le pida al usuario la cantidad máxima de número que va a ingresar, y al llegar al número 10 de repeticiones en el bucle, se imprime la siguiente cadena (supongamos que ingreso número del 1 al 10 para ordenar): #include <iostream> #include <stdio.h> using namespace std; int metodoBurbuja(); int main(){ metodoBurbuja(); cout << "\nPresione una tecla para salir"; getchar(); getchar(); return 0; } int metodoBurbuja(){ int i, j,cn = 0, auxiliar; int arreglo[cn]; char respuesta[10] = {'S'}; do{ cout << "Introduce un n\243mero para ordenar de menor a mayor: "; cin >> arreglo[cn]; cn++; cout << "\168Desea introducir otro n\243mero? Si(s) No (n) : "; cin >> respuesta[0]; }while(respuesta[0] == 'S' || respuesta[0] == 's'); for(i=0;i<cn;i++){ for(j=0;j<cn;j++){ if (arreglo[j]>arreglo[j+1]){ auxiliar = arreglo[j]; arreglo[j] = arreglo[j+1]; arreglo[j+1] = auxiliar; } } } for(i=0;i<cn;i++){ cout << arreglo[i] << " "; } return 0; }
0,1,2,3,4,5,6,7,8,9 (se imprime el "0" sin ningún motivo - el motivo es que recorro mal el vector, pero no sé cómo corregirlo-)
Mientras que si ordeno < de 10 números, se ordena normalmente sin el 0. Muchas gracias de antemano por su voluntad y espero poder resolver esto que me trae pensando bastante horas. Buena jornada.