Fandom

Scratchpad

PLE:Unidad4Ejercicio17

219,358pages on
this wiki
Add New Page
Discuss this page0 Share
/*
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;
		      }
      	}
      }
}

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