Je dois réaliser un programme qui testera si une phrase est un palindrome ou non en utilisant la méthode suivante :
voila le programme que j'ai réalisé :Ecrire le programme réalisant:
-L'entrée des caractères un par un
-si le caractère est une majuscule,il est transformé en minuscule et mis dans un tableau t
-si le caractère est une minuscule,il est mis directement dans t
-s'il s'agit d'un autre type de caractère il est ignoré et on lit le caractère suivant
-la comparaison caractère à caractère du tableau
-si la comparaison est effectuée jusqu'au centre du tableau sans encombre,alors on affiche à l'écran le message"c'est un palindrome",sinon on écrit"ce n'est pas un palindrome"
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 #include<stdio.h> int main() { char t[100],courant=0; int i=0,j=0,longueur=0; printf("Tapez un cara : "); scanf("%c",&courant); for(courant;EOF!=courant;courant=getchar()) putchar(tolower(courant),t[courant]); if(isalnum(t[courant]))t[courant]=getchar(); else courant++; longueur=strlen(t[courant]); for(i=0,j=longueur;i>j;i++,j--){ if(i==j) printf("palin"); else printf("pas palin"); } return 0; }
Ce programme s'arrête à la première boucle et je ne comprends pas pourquoi ?
Il ne semble même pas effectué le test sur le caractère alphanumérique ?
Partager