Tornar

Justificació d'un text

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

Tornar