Conteggi e statistiche su un testo con un programmino in C

Qualche tempo fa avevo postato un esempio di codice sul forum di Hackers&C per rispondere ad una richiesta di aiuto di qualcuno che aveva la necessità di

Scrivere un programma in C che faccia l’esame statistico delle lettere, delle parole, degli articoli, delle preposizioni, ecc presenti un certo testo, stampando per questi elementi le percentuali di occorrenza.

Niente di troppo complicato. Mi è ritornato sotto mano quel codice, e visto che ora ho un blog che allora non avevo, lo posto anche qui. Chissà che non ci capiti qualcuno che abbia necessità analoghe.

L’intero codice è disponibile qui:


Sono 146 righe per cui non potevo pastarlo direttamente nel post.
Posto invece un esempio dell’output che fornisce, eseguendolo sul testo di questo stesso post.

-- Coded by dede -- 

--- FILE ---
prova.txt

--- INFO GENERALI ---
Numero totale di caratteri: 708
Numero totale di parole che compongono il testo: 115
Numero di righe che compongono il testo: 13

--- LETTERE ---
41 lettere 'a' che sono il 5.79% dei caratteri totali
3 lettere 'b' che sono il 0.42% dei caratteri totali
36 lettere 'c' che sono il 5.08% dei caratteri totali
21 lettere 'd' che sono il 2.97% dei caratteri totali
78 lettere 'e' che sono il 11.02% dei caratteri totali
4 lettere 'f' che sono il 0.56% dei caratteri totali
5 lettere 'g' che sono il 0.71% dei caratteri totali
13 lettere 'h' che sono il 1.84% dei caratteri totali
47 lettere 'i' che sono il 6.64% dei caratteri totali
0 lettere 'j' che sono il 0.00% dei caratteri totali
1 lettere 'k' che sono il 0.14% dei caratteri totali
31 lettere 'l' che sono il 4.38% dei caratteri totali
11 lettere 'm' che sono il 1.55% dei caratteri totali
35 lettere 'n' che sono il 4.94% dei caratteri totali
60 lettere 'o' che sono il 8.47% dei caratteri totali
21 lettere 'p' che sono il 2.97% dei caratteri totali
6 lettere 'q' che sono il 0.85% dei caratteri totali
28 lettere 'r' che sono il 3.95% dei caratteri totali
36 lettere 's' che sono il 5.08% dei caratteri totali
43 lettere 't' che sono il 6.07% dei caratteri totali
23 lettere 'u' che sonoo il 3.25% dei caratteri totali
10 lettere 'v' che sono il 1.41% dei caratteri totali
0 lettere 'w' che sono il 0.00% dei caratteri totali
0 lettere 'x' che sono il 0.00% dei caratteri totali
0 lettere 'y' che sono il 0.00% dei caratteri totali
2 lettere 'z' che sono il 0.28% dei caratteri totali

--- NUMERI ---
0 numeri '0' che sono il 0.00% dei caratteri totali
1 numeri '1' che sono il 0.14% dei caratteri totali
0 numeri '2' che sono il 0.00% dei caratteri totali
0 numeri '3' che sono il 0.00% dei caratteri totali
1 numeri '4' che sono il 0.14% dei caratteri totali
0 numeri '5' che sono il 0.00% dei caratteri totali
1 numeri '6' che sono il 0.14% dei caratteri totali
0 numeri '7' che sono il 0.00% dei caratteri totali
0 numeri '8' che sono il 0.00% dei caratteri totali
0 numeri '9' che sono il 0.00% dei caratteri totali

--- PREPOSIZIONI SEMPLICI ---
di:  8 	(6.96 delle parole totali)
a:   0 	(0.00 delle parole totali)
da:  0 	(0.00 delle parole totali)
in:  1 	(0.87 delle parole totali)
con: 0 	(0.00 delle parole totali)
su:  0 	(0.00 delle parole totali)
per: 2 	(1.74 delle parole totali)
fra: 0 	(0.00 delle parole totali)
tra: 0 	(0.00 delle parole totali)

--- ARTICOLI DETERMINATIVI ---
il:  0 	(0.00 delle parole totali)
lo:  1 	(0.87 delle parole totali)
la:  1 	(0.87 delle parole totali)
i:   0 	(0.00 delle parole totali)
gli: 0 	(0.00 delle parole totali)
le:  1 	(0.87 delle parole totali)

--- ARTICOLI INDETERMINATIVI ---
un:  5 	(4.35 delle parole totali)
uno: 0 	(0.00 delle parole totali)
una: 1 	(0.87 delle parole totali)
un': 0 	(0.00 delle parole totali)

This entry was posted in $1$s. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *