Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2016, 14:10
ekis182
 
Fecha de Ingreso: octubre-2015
Mensajes: 17
Antigüedad: 8 años, 6 meses
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