La tua migliore amica Marta ha recentemente trovato il lavoro dei suoi sogni: lavora con le collezioni di un museo di storia locale. Sapendo quanto ti interessa la programmazione, si confida con te su un problema che ha al lavoro, in vista di una prossima mostra sulla storia dell'informatica. Il dipartimento di matematica di un'università locale aveva donato diverse scatole di stampe storiche, ma data la cattiva condizione dei documenti si è deciso di digitalizzare il testo. Tuttavia, la vecchia stampante dell'università aveva qualche stranezza nel modo in cui rappresentava il testo, e alla tua amica servirebbe il tuo aiuto per riuscire a estrarre i dati.
Il riconoscimento ottico dei caratteri, o OCR, è un software che converte immagini di testo in testo leggibile da una macchina.
Data una griglia di caratteri che rappresenta alcune cifre, converti la griglia in una stringa di cifre.
Se la griglia ha più righe di celle, le righe vanno separate nell'output con una ",".
"|"), underscore ("_") e spazi (" ")."?" per quel carattere.Il seguente input (senza i commenti) viene convertito in "1234567890".
_ _ _ _ _ _ _ _ #
| _| _||_||_ |_ ||_||_|| | # Decimal numbers.
||_ _| | _||_| ||_| _||_| #
# The fourth line is always blank,
Il seguente input viene convertito in "123,456,789".
_ _
| _| _|
||_ _|
_ _
|_||_ |_
| _||_|
_ _ _
||_||_|
||_| _|
La griglia è rappresentata come una stringa terminata da null, con un carattere di nuova riga alla fine di ogni riga.
| Registro | Uso | Tipo | Descrizione |
|---|---|---|---|
$a0 |
input | indirizzo | stringa di input terminata da null |
$a1 |
input/output | indirizzo | stringa di risultato terminata da null, vuota se le dimensioni della griglia non sono valide |
$v0 |
output | intero | stato della griglia (0 = ok, -1 = invalid columns, -2 = invalid rows) |
$t0-9 |
temporaneo | qualsiasi | per memorizzazione temporanea |
Iscriviti a Exercism per imparare e padroneggiare MIPS Assembly con 70 esercizi e il mentoring di persone reali, tutto gratis.