Bonjour,
Je cherche à écrire un programme qui compte le nombre de consonnes dans plusieurs mots. Pour ça, j'utilise 2 fonctions : countconsonants et isconsonant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function y = countconsonants(z) z(1) w = isconsonant(z(1)) y=sum(w);Et j'appelle ma fonction "principale" countconsonants ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function v = isconsonant(string) v = ismember(lower(string),'bcdfghjklmnpqrstvwxz'); disp(['v ' num2str(v)])
Voici ce que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 countconsonants({'Helloo', 'world.'})
J'ai rajouté des affichages pour voir où se situe le problème...Je ne comprends pas pourquoi la valeur de v est 0, ça devrait être le vecteur 1 1 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15ans = 'Helloo' v 0 w = 0 ans = 0
J'ai essayé en n'utilisant que la fonction isconsonant avec un seul mot en l'appelant ainsi :
Voici ce que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 isconsonant('hello')
Ce qui est juste... Je pense que l'erreur est assez simple, mais je m'y connais pas beaucoup... est-ce dans l'appel de la fonction w = isconsonant(z(1)) ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 v 1 0 1 1 0 ans = 1 0 1 1 0
Merci de me mettre sur la voie
Partager