PLE:Unidad5Ejercicio16

/* Programa:      Unidad5Ejercicio16.cpp Descripción:   Ordena mediante el método de la burbuja y                hace búsqueda dicotómica. using namespace std;
 * 1) include
 * 2) include
 * 3) include
 * 1) include

void ordena(int array[]); int busca(int array[], int num);

const int TAM = 100;

void main {       int num[TAM], i, n, pos;

// Generamos valores aleatorioa for(i= 0; i < TAM; i++) {               num[i] = rand % 100; }

// Mostramos el array desordenado for(i= 0; i < TAM; i++) {               cout << num[i] << '\t'; }

// Ordena el array ordena(num);

// Mostramos el array ordenado cout << endl << "Array ordenado" << endl; for(i= 0; i < TAM; i++) {               cout << num[i] << '\t'; }

cout << "Introduzca un numero a buscar "; cin >> n;       // Busqueda pos = busca(num, n);

if(pos != -1) cout << "El numero buscado acupa la posicion " << pos << endl; else cout << "No existe el numero buscado" << endl;

system("pause"); }

void ordena(int array[]) {       int i, j, aux; for(i=0; i < TAM-1; i++) {	       for(j = 1 ;j < TAM; j++) {	       	if(array[j-1] > array[j]) {			       aux = array[j]; array[j] = array[j-1]; array[j-1] = aux; }       	}        } }

int busca(int array[], int num) {       int izq, der, cen; izq = 0; der = TAM-1; cen = (izq + der)/2; while (array[cen]!=num && izq < der) {       	if (array[cen] > num) der=cen-1; else izq = cen+1; cen = (izq+der)/2; }//fin mientras if (array[cen] == num) return cen; else return -1; }