Fandom

Scratchpad

PLE:Unidad4Ejercicio17

215,915pages 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:         Unidad4Ejercicio17.cpp
Fecha:            10/01/2006
Descripción:      Ordenación por el método de la burbuja.

*/
#include <iostream>
#include <conio>
#include <stdlib>
#include <time>
using namespace std;

const int MAX = 20000;
void muestra(int array[]);
void ordenaAscendente(int array[]);
void ordenaDescendente(int array[]);

void main()
{
      int num[MAX], i, n, pos;
      time_t tiempo1, tiempo2;
      double numSec1, numSec2;

      randomize();
      // Asignamos valores aleatorios
      for(i = 0; i < MAX; i++)
            num[i] = random(100);

      // Mostramos en pantalla el array desordenado
      cout << "Array desordenado " << endl;
      muestra(num);

      // ordeno el array
      tiempo1 = time(NULL);
      ordenaAscendente(num);
      tiempo2 = time(NULL);
      numSec1 = difftime(tiempo2, tiempo1);

      // Mostramos en pantalla el array ordenado
      cout << "Array ordenado ascendentemente" << endl;
      muestra(num);

      // ordeno el array
      tiempo1 = time(NULL);
      ordenaDescendente(num);
      tiempo2 = time(NULL);
      numSec2 = difftime(tiempo2, tiempo1);


      // Mostramos en pantalla el array ordenado
      cout << "Array ordenado descendentemente" << endl;
      muestra(num);

      // Mostramos las medidas de tiempo
      cout << "\nEl tiempo de la ordenación ascendente = ";
      cout << numSec1 << endl;

      cout << "\nEl tiempo de la ordenación descendente = ";
      cout << numSec2 << endl;

      cin.ignore();
      cin.get();
}

void muestra(int array[])
{
      int i;
      for(i = 0; i < MAX; i++)
            cout << array[i] << '\t';
}

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

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

Also on Fandom

Random wikia