Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hilos
Hilos
#
#
#
#
include
include
include
include
include
<stdio.h>
<stdlib.h>
<math.h>
<string.h>
<omp.h>
ntos[j].p);
}
}
}
}
void funcion1(int i, int j, int k, int largo, int cantidad_archivos, elemento *
p1, invertido* indice_i)
{
#pragma omp parallel firstprivate(i,j,k)
{
int tid = omp_get_thread_num();
int a;
for(i=tid ; i<largo ; i+=H){
for(j=0;j< cantidad_archivos;j++){
for(k=0; k < archivos[j].n;k++){
if(strcmp(archivos[j].elementos[k].p,ind
ice_i[i].palabra)==0){
//se encontro la palabra en el a
rchivo
indice_i[i].n+=1;
a = indice_i[i].n;
p1 =(elemento *) realloc(indice
_i[i].elementos,a*sizeof(elemento));
indice_i[i].elementos=p1;
strcpy(indice_i[i].elementos[a1].p, archivos[j].archivo);
//romper for
break;
}
}
}
}
}
}
void funcion2(int i, int j, int k, int cantidad_consultas, int largo, invertido
* indice_i, int contador, elemento * cons)
{
for(i=0;i<cantidad_consultas;i++){
for(j=0;j<largo;j++){
if( strcmp(indice_i[j].palabra,cons[i].p)!=0){
//no es la palabra
contador++;
}
else{
printf("resultado para %s = ",cons[i].p);
for( k=0; k<indice_i[j].n; k++){
printf("%s ",indice_i[j].elementos[k].p
);
}
printf("\n");
break;
}
}
if( contador == largo ){
printf("resultado para %s = no existe\n",cons[i].p );
contador=0;
}
else{
contador=0;
}
}
}