17/05/2016, 14:10
|
| | Fecha de Ingreso: octubre-2015
Mensajes: 17
Antigüedad: 9 años, 1 mes Puntos: 0 | |
Problema con busqueda X-D Estoy haciando un programa de ordenamiento por burbuja y ordenamiento binario en el cual tengo el problema que me muestra dos 0 al principio cuando ordeno la secuancia de numeros y solo tengo un 0 , y si pongo un valor fuera de la secuencia no pasa nada , no me dice que el numero no existe solo se queda quieto el programa
Código:
int main(){ // Nivel 5 ej 13
int i , aux , num2 , j ;
int verFal = 0 , sup , inf , mitad;
int lista2[10] = {2,4,6,9,7,8,1,0,5,3};
for(i = 0 ; i < 10 ; i++){
for(j = 0 ; j < 10 ; j++){
if(lista2[j] > lista2[j+1]){
aux = lista2[j];
lista2[j] = lista2[j+1];
lista2[j+1] = aux;
}
}
}
for(i = 0 ; i < 10 ; i++){
printf("%i ",lista2[i]);
}
printf("\n\nIngrese un valor : ");
// NO PONER ESPACIOS EN "%i" EN SCANF() POR QUE PIDE OTRO NUMERO
scanf("%i",&num2);
// LIMPIA EL BUFFER DEL TECLADO
fflush(stdin);
// BUSQUEDA BINARIA
inf = 0;
sup = 9;
while(sup >= inf){
mitad = (sup+inf)/2;
if(lista2[mitad] == num2){
verFal = 1; break;
}
if(lista2[mitad] > num2){
sup = mitad;
mitad = (sup+inf)/2;
}
if(lista2[mitad] < num2){
inf = mitad;
mitad = (sup+inf)/2;
}
}
// LA VARIABLE VERFAL HACE LA FUNCION COMO SI FUERA UN VALOR BOOLEANO SI ES 1 ES TRUE SI ES 0 ES FALSE
if(verFal == 1){
printf("\nNumero encontrado y su pos es : %i", mitad);
}else if(verFal == 0){
printf("\nNumero no encontrado ");
}
printf("\n");
return 0;
}
Se aceptan sugerencias |