2.- A
continuación se muestra el código de implementación dev c++ ,de una búsqueda de
la cual usted debe de indicar que búsqueda es (secuencial, binaria o hast)
indicar que hace el código y que resultado arroja
Despues haber de limpiado el codigo lo mejor que pude remplazando los caracteres `` y
' ' por las comillas correctas
" ademas de completar correctamente las lineas que estaba cortadas por saltos en linea no me fue posible correr el programa:
Codigo original copiado del PDF:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include ``ordena.h''
#include ``hash.h''
int main(int argc,char *argv[])
{
int num_min,num_max,incr,tamano,nveces; char nombre[256];
short ret;
printf(``Practica numero 3, apartado 2\n''); printf(``Realizada
por: Vuestros nombres\n''); printf(``grupo: Vuestro grupo\n''); printf(``introduce el numero ninimo de elementos a introducir
en la tabla\n''); scanf(``%d'',&num_min);
printf(``introduce el numero maximo de elementos a introducir
en la tabla\n''); scanf(``%d'',&num_max);
printf(``introduce el incremento\n''); scanf(``%d'',&incr);
printf(''Introduce el tamano de la tabla hash \n''); scanf(``%d'',&tamano);
printf(``Factor del retardo\n''); scanf(``%d'',&nveces);
printf(``Introduce el nombre del fichero\n''); scanf(``%s'',nombre); ret=time_Hash(nombre,num_min,num_max,incr,tamano,hash_div,n veces);
if(ret==ERR) {
printf("Error en la funcion time_Hash\n"); return ERR;
}
printf(``Fichero generado correctamente\n''); return OK;
}
Codigo limpio:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include "ordena.h"
#include "hash.h"
int main(int argc,char *argv[])
{
int num_min,num_max,incr,tamano,hash_div,nveces;
char nombre[256];
short ret;
printf("Practica numero 3, apartado 2\n");
printf("Realizada por: Vuestros nombres\n");
printf("grupo: Vuestro grupo\n");
printf("introduce el numero ninimo de elementos a introducir en la tabla\n");
scanf("%d",&num_min);
printf("introduce el numero maximo de elementos a introducir en la tabla\n");
scanf("%d",&num_max);
printf("introduce el incremento\n");
scanf("%d",&incr);
printf("Introduce el tamano de la tabla hash \n");
scanf("%d",&tamano);
printf("Factor del retardo\n");
scanf("%d",&nveces);
printf("Introduce el nombre del fichero\n");
scanf("%s",nombre);
ret=time_Hash(nombre,num_min,num_max,incr,tamano,hash_div,nveces);
if(ret==ERR) {
printf("Error en la funcion time_Hash\n");
return ERR;
}
printf("Fichero generado correctamente\n");
return OK;
}
Sin embargo al leer el codigo y ententer el algoritmo puedo decir que el metodo de busqueda es tipo Hash. En ella se crea una tabla utilizando una funcion de dispersion para ingresar los elementos, lo que permite que estos no puedan ser recorridos de forma secuencial. Los resultados que arrojarian son 2 posibles: ERR en caso de que exista un error en la funcion y OK en caso de que se genere correctamente.