Bonjours,
J'ai un exercice a faire ou on doit verifier si le mot saisi est un palindrome (c'est a dire qu'il est lisible dans les deux sens de la meme façon ex: bob ou radar).
De plus le mot saisi par l'utilisateur doit se conclure par un point.
Le probleme survient quand je tente de comparer deux valeur de deux tableau. Je m'explique, pour me faciliter le travail, j'ai eclater le mot en un tableau , que j'ai retourné ensuite afin de verifier si il etait similaire une fois retourné. J'ai converti les lettre en valeur ascII par l'instruction ord(). Mais impossible de comparer.
Voici mon script .
Il m'affirme que tout mots saisis est un palindrome ce qui n'est pas le cas .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 <?php //exo3 fiche tableau include 'saisir.php'; echo "entrez un mot (il devra se terminer par un point) :"; $mot = saisir(); $motf = substr ($mot, 0, -1); //echo "le mot saisi est initial est : ".$mot."\n"; //echo "le mot après transformation est : ".$motf."\n"; $j = strlen($motf); //echo "la taille du mot est : ".$j."\n"; for($i=0; $i<$j; $i++) { $tab[$i] = $motf[$i]; } //for($i=0; $i<$j ; $i++) //{ // echo $i." ".$tab[$i]." \n"; //} $i=0; for ($i=0; $i<$j; $i++) { $k = $j-$i-1; //echo $k."\n"; $tabinverse[$i] = $tab[$k]; //echo $tabinverse[$i]; } $i=0; for ($i=0; $i<$j; $i++) { echo $tab[$i]." ".$tabinverse[$i]."\n"; } $i=0; for ($i=0; $i<$j; $i++) { $ordtab[$i] = ord($tab[$i]); $ordtabinverse[$i] = ord($tabinverse[$i]); } $i=0; for ($i=0; $i<$j; $i++) { echo $ordtab[$i]." ".$ordtabinverse[$i]."\n"; } $i=0; for ($i=0; $i<$j; $i++) { if ($ordtab[$i] = $ordtabinverse[$i]) $rep = 1; else $rep = 0; } echo $rep; ?>
Merci D'avance, je galère a mort depuis plusieurs heures.







Répondre avec citation








Partager