DUDA metodo de ordenamiento

toñonv

Bovino maduro
#1
static void burbuja_mejorada()
{
int aux, i, j, cambio;
for (i = 0; i < n - 1; i++)
{
cambio = 0;
for (j = 0; j - n - i; j++)
{
if (numeros[j] > numeros[j + 1])
{
aux = numeros[j];
numeros[j] = numeros[j + 1];
numeros[j + 1] = aux;
cambio = 1;
}
}
if (cambio == 0)
break;
}
}


No se puede convertir implicitamente el tipo int en bool...

como lo compongo, nunca me habia salido ese error
 
#3
Hola amigo creo que el problema esta en que en la sentencia n-1 mas bien, en general donde ocupas n no esta definida la variable de modo que el compilador no sabra que es n. Misma situacion pasa con la variable numeros no esta definida.

Saludos
 

isroco

Bovino maduro
#5
static void burbuja_mejorada()
{
int aux, i, j, cambio;
for (i = 0; i < n - 1; i++)
{
cambio = 0;
for (j = 0; j - n - i; j++)
{
if (numeros[j] > numeros[j + 1])
{
aux = numeros[j];
numeros[j] = numeros[j + 1];
numeros[j + 1] = aux;
cambio = 1;
}
}
if (cambio == 0)
break;
}
}


No se puede convertir implicitamente el tipo int en bool...

como lo compongo, nunca me habia salido ese error
Segun entiendo, al ciclo le falta la condicion, deberia quedar asi...
for (j = 0; j < n - i; j++)
 
Arriba