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.


