Página principal | Módulos | Lista de componentes | Lista de archivos | Archivos de los miembros

Referencia del Archivo histograma.c

Archivo que contiene la funcion main(). Más...

Ir al código fuente de este archivo.

Funciones

int * crear_arreglo (int L)
 Crea un arreglo de tamaño L.
int * llenar_arreglo (int L, int *p)
 llena el arreglo, previamente creado, con elementos aleatorios
double calc_diferencia (void)
 calcular la diferencia en los tiempos medidos
int * histograma (int L, int *arreglo)
 Estructura los datos para hacer el histograma.


Descripción detallada

Este codigo es el encargado de realizar la llamadas a las funciones que realizan los algoritmos para ordenar los arreglos. Ademas se encarga de medir los tiempos que dichos algoritmos demoran y asi realizar un histograma. Para esto emplea las capacidades del utilitario "GNUPLOT".

Definición en el archivo histograma.c.


Documentación de las funciones

int* crear_arreglo int  L  ) 
 

Parámetros:
L Tamaño del arreglo.

Definición en la línea 185 del archivo histograma.c.

00186 {
00187   int j;
00188   int *p;
00189   srand(1); // Inicializa la semilla de numeros aleatorios
00190   if((p=(int *)malloc(L*sizeof(int)))==NULL)
00191     {printf("\n Error de memoria al crear el arreglo ...\n");exit(0);}
00192  
00193   for(j=0;j<L;j++) *(p+j) = 0; //inicializa con puros ceros el arreglo
00194   return p;
00195 }

int* histograma int  L,
int *  arreglo
 

Parámetros:
L variable 1.
arreglo variable 2.

Definición en la línea 235 del archivo histograma.c.

Hace referencia a paso, y rango.

00236 {
00237   int *p;
00238   int j,k,aux;
00239   paso = ((int)(max - min))/(rango-1);
00240 
00241   printf("paso=%d\n",paso);
00242   if((p=(int *)malloc(rango*sizeof(int)))==NULL)
00243     {printf("\n Error de memoria al crear el arreglo ...\n");exit(0);}
00244   for(j=0;j<rango;j++) *(p+j) = 0; //inicializa con puros ceros el arreglo
00245 
00246   for(j=0; j<L; j++)
00247     {
00248       aux = *(arreglo+j);
00249       for(k=0;k<rango;k++)
00250         {
00251           if (aux <= (int)(min + k*paso + (int)(paso/2) )) {
00252             *(p+k)=*(p+k)+1;
00253             break;
00254           }
00255         }
00256     }
00257 
00258   return p;
00259 }


Generado el Fri Nov 19 03:23:50 2004 para Ejemplo por  doxygen 1.3.9.1