Supprimer recursivité (algorithmique)

Fermé
karlakir Messages postés 2 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 18 janvier 2009 - 18 janv. 2009 à 17:14
karlakir Messages postés 2 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 18 janvier 2009 - 18 janv. 2009 à 23:34
Bonjour,

voila un petit probleme que je n'arrive pas à resoudre. (J'ai jamais programme ==> prepa mp et je me suis retrouvé dans une ecole d'inge à majorité informatique donc je galere ) Soyez indulgents :)

Voila le programme recursif que je dois transformer en programme iteratif avec utilisation d'une pile (empiler et depiler)

procedure TRUC( i , n ) :
si i = n alors
pour j de i à n faire
ecrire T(j);
fait;

sinon
pour j de i à n faire
temp := T(i) ; T(i) := T(j) ; T(j) := temp ;
TRUC( i + 1 , n);
temp := T(i) ; T(i) := T(j) ; T(j) := temp;
fait;
fsi;

où Test un tableau de n éléments quelconques considéré comme variable globale

Voila: j'ai déjà fait la trace: ce programme retourne l'ensemble des permutations du tableau
(comme je suis pas clair et meme si vous le retrouverez directement je le met quand meme:
par exemple pour un tableau ( 1 ; 2 ; 3 ), le programme retournera :
( 1 ; 2 ; 3 ) ; ( 1 ; 3 ; 2 ); (2 ; 1 ; 3 ); (2 ; 3 ; 1 ); (3 ; 1 ;2 ) ; (3 ; 2 ;1 ) )

merci d'avance
A voir également:

1 réponse

karlakir Messages postés 2 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 18 janvier 2009
18 janv. 2009 à 23:34
up
0