/* paragrafo 1.6 pagina 20 visualizza un istogramma della lunghezza delle parole contenute nel testo in ingresso */ #include <stdio.h> #define MAXPAROLE 90 main() { int c, i, l, mxl, riga; int parole[MAXPAROLE]; for (i = 0; i < MAXPAROLE; ++i) parole[i] = 0; l = 0; i = 0; printf("Inserire un testo contenente al massimo %d parole\n", MAXPAROLE); c = getchar(); while (c != EOF && i < MAXPAROLE) { if (c != ' ' && c != '\n' && c != '\t') ++l; else if (l > 0) { parole[i] = l; ++i; l = 0; } c = getchar(); } printf("parole inserite %d\n", i); mxl = parole[0]; for ( l = 0; l < i; ++l) if (parole[l] > mxl) mxl = parole[l]; for (riga = 0; riga < mxl; ++riga) { printf("%2d ", mxl - riga); for (l = 0; l < i; ++l) { if (parole[l] >= mxl - riga) putchar('x'); else putchar(' '); } putchar('\n'); } }