PLE:Unidad6Ejercicio06

/* Programa:        Fichero06.cpp Descripción:     Contar la frecuencia de aparición de palabras en un fichero de texto. using namespace std; struct elemento {       char cad[25]; unsigned int cont; }; void inserta(elemento f[], unsigned int &n, char *c); void muestra(ostream &fs, elemento f[], unsigned int n); void incrementa(elemento f[], unsigned int n); int busca(elemento f[], unsigned int n, char *c); void ordena(elemento f[], unsigned int n); void minuscula(char *c); const int NUM=80; const int NUMPAL=2000; void main {       char nomFicTex[NUM], nomFicRes[NUM],pal[25]; elemento frec[NUMPAL]; unsigned int numElem = 0; int p;       ifstream fe; ofstream fs; cout << "Introduzca el nombre del fichero a leer "; cin >> nomFicTex; cout << "Introduzca el nombre del fichero con los resultados "; cin >> nomFicRes; fe.open(nomFicTex); if(!fe.good) {               cout << "ERROR. Problema al acceder al fichero " << nomFicTex; exit(0); }       fs.open(nomFicRes); if(!fs.good) {               cout << "ERROR. Problema al acceder al fichero " << nomFicRes; exit(0); }       fe >> pal; while(!fe.eof) {               // Buscamos el caracter minuscula(pal); p = busca(frec, numElem, pal); if(p == -1) inserta(frec, numElem, pal); else incrementa(frec, p); fe >> pal; }       ordena(frec, numElem); muestra(fs, frec, numElem); fe.close; fs.close; cin.ignore; cin.get; } void inserta(elemento f[], unsigned int &n, char *c) {       strcpy(f[n].cad,c); f[n].cont = 1; n++; } void muestra(ostream &fs, elemento f[], unsigned int n) { for(unsigned int i = 0; i < n; i++) fs << f[i].cad << '\t' << f[i].cont << endl; fs << "TOTAL palabras = " << n; } int busca(elemento f[], unsigned int n, char *c) {       int pos = -1; unsigned int i = 0; while(i < n && pos == -1) {               if(strcmp(f[i].cad,c) == 0) pos = i;               i++; }       return pos; } void incrementa(elemento f[], unsigned int n) { f[n].cont++; } void minuscula(char *c) {       for(unsigned int i = 0; i < strlen(c); i++) {               if(c[i] == 'Ñ') c[i] = 'ñ'; else c[i] = tolower(c[i]); } } void ordena(elemento f[], unsigned int n) { unsigned int i, j, k;       elemento aux; for (i = 0; i < n-1; i++) {               k = i;                strcpy(aux.cad, f[i].cad); aux.cont = f[i].cont; for (j = i+1; j <= n-1; j++) {                       if(f[j].cont > aux.cont) {                               k = j;                                strcpy(aux.cad,f[j].cad); aux.cont = f[j].cont; }               }                strcpy(f[k].cad, f[i].cad); f[k].cont = f[i].cont; strcpy(f[i].cad, aux.cad); f[i].cont = aux.cont; } }
 * 1) include
 * 2) include
 * 3) include
 * 4) include
 * 1) include