BaruchLe 01/10/2008 à 22:36
Ben il suffit d'utiliser la fonction sub et des listes :
Pour trouver la valeur à stocker dans Str5 :
On prend L la longueur du plus grand nom. Pour chaque nom, on associe une chaîne de longueur L, en complétant avec des espaces.
On prend Str0 la chaîne concaténée de toutes les chaînes de nom.
Il suffit alors de faire :
sub(Str0,AnsL-L+1,L->Str5
Pour les 4 autres chaînes, tu peux faire pareil (avec L=1), mais c'est pas la meilleure méthode.
Le mieux c'est d'obtenir l'expression de ces chaînes avec une liste. Donc tu fais sub("123456789",L1(A),1) (avec A la valeur initiale de Ans).
Pour éviter d'avoir une trop grande liste, tu peux utiliser la méthode de stockage de chiffres dans un nombre. Comme ça, tu peux mettre 4 chiffres dans un élément, tu les extrais, puis tu les convertis en chaîne.
Pour les If K, il suffit de trouver la condition à vérifier pour effectuer ce test, puis tu te débrouilles avec une liste pour avoir la valeur à stocker dans la matrice.