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; } } } }