Codigo que imprime las palabras
Código:
Codigo de la funcion que genera las palabras y las compara //Con esa lista de palabras y el diccionario, recupera las sugerencias
ListaCandidatas(szPalabrasSugeridas, iNumSugeridas, szPalabras, iEstadisticas, iNumElementos,
szListaFinal, iPeso, iNumLista);
//Mostrar las opciones candidatas, por orden de peso(frecuencia)
printf("Las candidatas son \n");
for (int j = 0; j < iNumLista; j++)
printf("%s %i\n", szListaFinal[j], iPeso[j]);
Código:
void ListaCandidatas(
char szPalabrasSugeridas[][TAMTOKEN],
int iNumSugeridas,
char szPalabras[][TAMTOKEN],
int iEstadisticas[],
int iNumElementos,
char szListaFinal[][TAMTOKEN],
int iPeso[],
int & iNumLista)
{
int inf, sup, mitad,i;
iNumLista = 0;
for (i = 0; i < iNumSugeridas; i++)
{
inf = 0;
sup = iNumElementos;
char bandera = 'F';
while (inf <= sup)
{
mitad = (inf + sup) / 2;
if (strcmp(szPalabras[mitad], szPalabrasSugeridas[i]) == 0)
{
strcpy_s(szListaFinal[i], szPalabras[mitad]);
iPeso[i] = iEstadisticas[mitad];
iNumLista++;
bandera = 'V';
break;
}
if (strcmp(szPalabras[mitad], szPalabrasSugeridas[i]) > 0)
{
sup = mitad;
mitad = (inf + sup) / 2;
}
if (strcmp(szPalabras[mitad], szPalabrasSugeridas[i]) < 0)
{
inf = mitad;
mitad = (inf + sup) / 2;
}
}
}
}


