(tambien explicito en el ejercicio).
Todo esto funciona, pero al marcar un numero que no esta dentro del vector que sea menor ha v[0] falla. Es decir, ell condicional if de la linea 67 no me funciona con valores menos ha v[0].
Código
#include <stdio.h> #include <stdlib.h> #include <time.h> #define h 5 int main(int argc, char *argv[]) { /*Ordenacion burbuja*/ int v[h],i,j,aux;/*Variables ordenacion burbuja*/ int inf,sup,med,n;/*Variables busqueda dicotomica */ /*Llenamos el vector con variables aleatorias*/ for(i=0;i<h;i++){ } /*Ordenacion de los numeros por el metodo burbuja*/ for (i=0;i<h;i++){ for(j=i+1;j<h;j++){ if(v[j]<v[i]){ aux=v[i]; v[i]=v[j]; v[j]=aux; } } } /*Impresion de los numeros ordenador*/ for(i=0;i<h;i++){ } /*No funciona con n<v[0]*/ /*Busqueda dicotomica*/ inf=0; sup=h; while(inf<sup){ med=(inf+sup)/2; if (v[med]==n){ break; } if (v[med]>n){ sup=med; } if (v[med]<n){ inf=med+1; } } if((inf=sup)&&!(n==v[med])) { /*No funcoina con valores mas pequeños que v[0]*/ } return 0; }