Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  tarea
Language: C/C++
Code:

#include <stdio.h>
#include <stdbool.h>


int BL(int a[], int k, int jeje)
{

        int x=1;
        int i=0;
        while((x==1)&&(i<jeje))
        {
        if(a[i]==k)
        {
            x=0;
            return i;
        }
        i++;
        }

   return -1;
}



int BB(int a[], int k, int jeje){
    int inf=0;
    int sup=jeje-1;
    int i=0;
    int mitad;
    while(inf<=sup){
        mitad= ((inf-sup)/2 + sup);
        if(a[mitad]==k){
            return mitad;
        }
        else{
            if(a[mitad]>k){
                sup=mitad;
                mitad=((inf-sup)/2 + sup);
            if(a[mitad]<k){
                inf=mitad;
                mitad=((inf-sup)/2 + sup);
            }
            }
        }
        i++;
    }
    printf("numero de comparaciones binarias: %i",i);
    return mitad;
}

bool comp(int a[], int k, int jeje)
{
    int x= 1;
    int i=0;
    while((x==1)&&(i< jeje)){
        if(a[i]==k){
            x=0;
            return true;
        }
        i++;
    }
    return false;
}





int main(){

int a[8]={7,9,10,0,12,13,23,45};
int k;
int jeje= sizeof(a)/sizeof(int);



printf("¿Que numero deseas buscar en el arreglo?: ");
scanf("%d",&k);


comp(a,k,jeje);
if(comp(a,k,jeje)){
    int BLL= BL(a,k,jeje);
    int BLLL= BLL+1;
    int BBB= BB(a,k,jeje);

    printf("Mediante la Busqueda lineal, tu numero se encuentra en la posicion %i, con %i comparaciones hechas.",BLL, BLLL);
    printf("Mediante la Busqueda binaria, tu numero se encuentra en la posicion %i",BBB);
    return 0;
}
else{
    printf("Lo siento, tu numero no se encuentra en el arreglo");
    return 0;


}















return 0;
}
Comments: