Aide sur programmation en c :palindrome
jean bat
-
bobo -
bobo -
g un petit pb ac mon programme palindrome,
rp:un palindrome est un mot qui se lit ds les 2 sens(ex: radar),
mon programme marche pour les mots ms par pour les chaines de mot (pb du au caractere espace,qui est comparer avec le caractere oppose tandis qu'on devrait prendre le carctere suivant espace ou le prcedant)
voici mon algo:
#include<stdio.h>
#include<string.h>
void main()
{
char chaine [50];
int taille,i;
printf("entrer le mot a verifier\t");
gets(chaine);
taille=strlen(chaine);
i=0;
while((chaine[i]==chaine[(taille-1)-i])&&(i<=taille-1))
{
i++;
}
if(i==taille)
{
printf("\nBien vu,cette chaine est un palindrome$$$\n");
}
else
{
printf("\nDesole cette chaine n'est pas un palindrome!!!\n");
}
printf("fin de ce programme\n");
}
rp:un palindrome est un mot qui se lit ds les 2 sens(ex: radar),
mon programme marche pour les mots ms par pour les chaines de mot (pb du au caractere espace,qui est comparer avec le caractere oppose tandis qu'on devrait prendre le carctere suivant espace ou le prcedant)
voici mon algo:
#include<stdio.h>
#include<string.h>
void main()
{
char chaine [50];
int taille,i;
printf("entrer le mot a verifier\t");
gets(chaine);
taille=strlen(chaine);
i=0;
while((chaine[i]==chaine[(taille-1)-i])&&(i<=taille-1))
{
i++;
}
if(i==taille)
{
printf("\nBien vu,cette chaine est un palindrome$$$\n");
}
else
{
printf("\nDesole cette chaine n'est pas un palindrome!!!\n");
}
printf("fin de ce programme\n");
}
A voir également:
- Aide sur programmation en c :palindrome
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Comment programmer un mail sur gmail - Guide
- Programmer un message sur iphone - Guide
- Desinstaller un programme sur windows - Guide
2 réponses
Bonsoir,
Il y a une autre discussion sur le même sujet postée récemment.
Quelques remarques :
1) - éliminer les "espaces" en tassant les caractères non blancs, qu'il convient de compter. Marquer la fin de chaîne par un "\0" (ici, le test peut être effectué sans sa présence, mais c'est pour prendre de "bonnes" habitudes).
2) - au passage, convertir tout en minuscules ou majuscules.
3) - la comparaison peut s'arrêter au caractère médiant, et si le nombre de caractères est impair, le test du caractère médian est inutile.
Il y a une autre discussion sur le même sujet postée récemment.
Quelques remarques :
1) - éliminer les "espaces" en tassant les caractères non blancs, qu'il convient de compter. Marquer la fin de chaîne par un "\0" (ici, le test peut être effectué sans sa présence, mais c'est pour prendre de "bonnes" habitudes).
2) - au passage, convertir tout en minuscules ou majuscules.
3) - la comparaison peut s'arrêter au caractère médiant, et si le nombre de caractères est impair, le test du caractère médian est inutile.