-
Notifications
You must be signed in to change notification settings - Fork 0
/
busquedaBI.c
76 lines (56 loc) · 1.33 KB
/
busquedaBI.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Universidad Sergio Arboleda
// Arquitectura de Computadores
// Taller Parcial 2
// Samuel Medina y Rober Burgos
// Profesor: Jhon Corredor
// Seccion 13: Busqueda binaria
// En el presente ejercicio se desarrollara una busqueda binaria.
#include<stdio.h>
int main(){
//Se inicializan las variables
int A, ubi, m1;
int arreglo[100];
int a = 0;
int b = 100;
int cA = 0;
int cB = 0;
printf("Bienvenido al programa:\n\n");
printf("Lista de numeros: \n\n");
//Se ponen las operaciones para la correcta ejecucion del programa
for( A=0; A<=100; A++){
arreglo[A] = A*2;
}
for(A=0;A<=100;A++){
printf("%d ", arreglo[A]);
if( A % 10 == 0 && A != 0)
printf("\n");
}
printf("\n\nContinue\n\n");
printf("Digite un numero para buscarlo en la lista: \n ");
scanf("%d", &ubi);
//Se imprime la respuesta
while (a <= b){
cA++;
m1 = (a + b) / 2;
if(ubi > 200){
printf("El numero no esta en la lista\n");
break;
}
if(ubi == arreglo[m1]){
printf("Numero %d encontrado en posicion %d\n", arreglo[m1], m1);
break;
}
else if(ubi < arreglo[m1]){
b = m1 -1;
}
else{
a = m1 + 1;
}
cB++;
}
//Si hay algun error sale lo siguiente en la pantalla de ejecucion
if(cA == cB){
printf("El numero no esta en la lista\n");
}
return 0;
}