Transformer de manière récursive
agtnt
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
Bonjour,
Dans le cadre d'un projet d'informatique, je dois coder une fonction qui si une proposition appartient à la prémisse d’une règle, de manière récursive. En effet, dans mon sujet une règle comporte une prémisse, qui est une liste chainée de proposition, et une conclusion. J'ai réussi à coder cette fonction mais pas de manière récursive... Si quelqu'un a une piste cela m'aiderai beaucoup!
Ma fonction est la suivante:
Dans le cadre d'un projet d'informatique, je dois coder une fonction qui si une proposition appartient à la prémisse d’une règle, de manière récursive. En effet, dans mon sujet une règle comporte une prémisse, qui est une liste chainée de proposition, et une conclusion. J'ai réussi à coder cette fonction mais pas de manière récursive... Si quelqu'un a une piste cela m'aiderai beaucoup!
Ma fonction est la suivante:
Proposition proposition_appartient_premisse (Regle r, Proposition proposition_test)
{
Proposition proposition_trouve;
proposition_trouve=NULL;
Proposition temp_prop;
temp_prop=r.premisse;
if(r!=NULL)
{
temp_prop=r.premisse;
if(proporsition_test!=NULL)
{
while(temp_prop!=NULL && proposition_trouve==NULL)
{
if (strcmp(temp_prop.description, proposition_test.description)==0 &&
temp_prop.valeur==proposition_test.valeur)
{
printf("La proposition appartient à la premisse");
proposition_trouve=temp_prop;
}
else
{
temp_prop=temp_prop->next;
}
}
if (proposition_trouve==NULL)
{
printf("la proposition n'appartient pas à la premisse");
}
}
}
return proposition_trouve;
}
Configuration: Windows / Chrome 87.0.4280.88
A voir également:
- Comment les transformistes font-ils
- Comment transformer une image en icone - Guide
- Comment transformer un clavier qwerty en azerty - Guide
- Comment transformer un texte en majuscule en minuscule - Guide
- Comment transformer un gif en video - Guide
- Comment transformer un enregistrement audio en texte ? - Guide
1 réponse
bonjour,
as-tu une idée de comment tu pourrais appliquer la récursivité?
merci de tenir compte de ceci:https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
as-tu une idée de comment tu pourrais appliquer la récursivité?
merci de tenir compte de ceci:https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Proposition proposition_appartient_premisse (Regle r, Proposition proposition_test) { Proposition proposition_trouve; proposition_trouve=NULL; Proposition temp_prop; temp_prop=r.premisse; if(r!=NULL) { temp_prop=r.premisse; if(proporsition_test!=NULL) { while(temp_prop!=NULL && proposition_trouve==NULL) { if (strcmp(temp_prop.description, proposition_test.description)==0 && temp_prop.valeur==proposition_test.valeur) { printf("La proposition appartient à la premisse"); proposition_trouve=temp_prop; } else { temp_prop=temp_prop->next; } } if (proposition_trouve==NULL) { printf("la proposition n'appartient pas à la premisse"); } } } return proposition_trouve; }J'espère que c'est mieux merci!
Je pensais ne pas faire un while et appeler la fonction à chaque fois mais ca ne me parait pas correct et limite inutile...
ton texte est encore moins compréhensible: que veut dire: "une fonction qui si une proposition appartient à la prémisse d’une règle".
il est souvent préférable de réfléchir à la récursivité en analysant le problème, pas en analysant un programme non récursif. quel est le principe général de la récursivité?