|
|
Justificació d'un text
Tornar
La justificació és una de les funcions usuals dels processadors de textos. Consisteix en afegir espais en blanc entre les paraules d'una línia de tal forma que totes les línies del text, incloent-hi els espais en blanc, tinguin el mateix nombre de caràcters.
Ens proposem un programa que, donat n línies de text de m caràcters o menys cadascuna, afegeixi els espais en blanc entre paraules necessaris per justificar tot el text.
Els espais en blanc s'han de repartir equitativament entre totes les separacions de paraules començant d'esquerra a dreta. Per exemple, si s'ha d'afegir 10 espais en blanc en la següent línia:
aa(1)aaa(1)aaaa(1)aaaa(1)aaaaa(1)a(1)aa
s'afegiran de la següent forma:
aa(3)aaa(3)aaaa(3)aaaa(3)aaaaa(2)a(2)aa
(els nombres entre parèntesi indiquen el nombre d'espais totals entre paraules)
El fitxer d'entrada contindrà dos nombres: el nombre de línies (n) i el nombre de caràcters desitjats per cada línia (m), a més de les n línies, totes elles amb un nombre de caràcters més petit o igual a m.
Exemple:
|
fitxer d'entrada 3 20 aa aaa aaa aaaa a aa a a aaa aa aaaaa aa aaaa
fitxer de sortida aa aaa aaa aaaa a aa a a aaa aa aaaaa aa aaaa
|
||
| aa(1)aaa(1)aaa(1)aaaa(1)a | total 17 caràcters | |
| aa(1)a(1)a(1)aaa(1)aa | total 13 caràcters | |
| aaaaa(1)aa(1)aaaa | total 13 caràcters | |
| aa(2)aaa(2)aaa(2)aaaa(1)a | total 20 caràcters | |
| aa(3)a(3)a(3)aaa(2)aa | total 20 caràcters | |
| aaaaa(5)aa(4)aaaa | total 20 caràcters | |
(en aquesta pàgina pot semblar que el text no estigui justificat. Això és degut a que el caràcter espai es més curt que el caràcter a)