Fandom

Scratchpad

PLE:Unidad5Ejercicio16

215,902pages on
this wiki
Add New Page
Discuss this page0 Share

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.

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

Also on Fandom

Random wikia