Voici un algorithme (la vérification que ton tableau est non vide, ... est supposée faite avant l'appel de la fonction)
appartient (x:entier , t[]:entier , n:entier ):booleen
i<-0
Faire
SI x=t[i] ALORS
appartient<- true
SINON
appartient<-false
FIN SI
i<- (i+1)
Tant Que (i<n et NOT appartient)
Fin
@mdr_non
Citation :
Dans ton cas également, l'énoncé demande un retour mais tu n'en fais aucun.
Tu assignes t à p mais utilise ensuite t[i] ? On peut enlever la ligne avec p on gagne de la mémoire.
- Pour ce qui est du retour, il y a a boucle FAIRE .... TANT QUE
- Le p ne sert à rien, je l'avais repris de [i]fatimedo, question mémoire on ne gagne que quelque octets (integer).
- Effectivement il y a un
ET au lieu du
OU, On a aussi le choix d'utiliser comme condition de sortie de la boucle
i<n ET not(appartient) ou
not(i=n OU appartient)
-
Citation :
Dans ton code à toi, tu dois avoir i <= n - 1 sinon tu lis une case du tableau qui n'existe pas.
Non, Je n'ai pas écrit ça, ce que j'ai écris c'est

qui est juste.
@fatimedo
Ceci est ton algorithme, je n'ai fait que le corriger. Tu programme en que langage?