j'ai besoin d'une fonction break_lines, qui quand on lui file un (ou une?) string, retourne une liste de paires; chaque paire est constituée du début du (de la?) string, et de la fin, la cassure etant opérée au début de chaque mot de ce (cette?) string
un exemple, paske ca n'a pas l'air clair dit comme ca:
break_lines "J'ai un bateau,"
doit retourner la liste de paires
[("J'ai un bateau," , ""), ("un bateau," , "J'ai "), ("bateau,", "J'ai un "), (", " , "J'ai un bateau")]
N.B: Ce n'est pas du C, mais du Haskell. Donc laissez tomber les exemples de code. Je cherche plutot un algo, paske ttes les idées que j'ai eu sont irréalisables, ou prendraient un temps fou (que je n'ai pas, fo rendre le projet dans 10 jours

Si ca peut aider (je pense qu'il fo utiliser cette fonction), j'ai déjà défini une fonction word_locations qui retourne la position du début de chaque mot dans la phrase.
exemple: word_locations "J'ai un bateau," donne [0, 5, 8]
PS: le but final est de réaliser un index Keyword in Context (ou KWIC) qui permet d'avoir le nombre d'apparitions d'un certain mot dans un texte, avec les numéros de lignes. J'ai fini pas mal de trucs, mais il me reste quelques fonctions à faire, et celle là me bloque totalement!