Fandom

Scratchpad

PLE:Unidad5Ejercicio16

219,605pages on
this wiki
Add New Page
Discuss this page0 Share
/*
Programa:       Unidad5Ejercicio16.cpp
Descripción:    Ordena mediante el método de la burbuja y
                hace búsqueda dicotómica.
*/
#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;

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;
}

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random wikia