Ultimo aggiornamento: 2022-02-19
Realizzare un programma che stampa tutte le parole presenti nel file wordlist.txt che hanno la stessa codifica T9 di una parola specificata sulla riga di comando. La codifica T9 associa a ciascuna delle 26 lettere dell’alfabeto un numero, come indicato nella Tabella 1.
Ognuno dei caratteri | corrisponde a |
---|---|
abc |
2 |
def |
3 |
ghi |
4 |
jkl |
5 |
mno |
6 |
pqrs |
7 |
tuv |
8 |
wxyz |
9 |
Quindi le lettere a
, b
e c
vengono tutte codificate con il singolo carattere 2
, le lettere d
, e
, f
dal carattere 3
e così via; non si fa distinzione tra lettere maiuscole e minuscole. Questo tipo di codifica era utilizzato dai vecchi cellulari.
Alcuni esempi:
La stringa | diventa |
---|---|
Informatica |
46367628422 |
algoritmi |
254674864 |
ciao |
2426 |
Si può assumere che le stringhe in input abbiano lunghezza strettamente minore di MAXLEN
, e che contengano esclusivamente lettere maiuscole o minuscole; non si deve fare distinzione fra maiuscole e minuscole. Ricordiamo che per convertire un carattere \(c\) in minuscolo si può usare la funzione int tolower(int c)
dichiarata in <ctype.h>
.
Alcuni esempi di esecuzione del programma:
Input | Output |
---|---|
./t9 ciao |
|
./t9 tavolo |
|
./t9 etna |
|
./t9 tablet |
|
Si noti che la parola specificata sulla riga di comando non deve necessariamente comparire nel file wordlist.txt.