6 réponses
je ne sais pas en C mais je vais te donner la méthode générale détaillé comment faire et toi tu fai va faire la traduction en C :
Algorithme résolution de problème;
variables ch,sch1,sh2 : chaîne de caractères;
palindrome : expression booléenne;
a: naturel;
Début;
1-lire(ch);
2-On va déterminer la longuer de la chaîne de caractères:
a <- longueur(ch);
3-on va diviser la chaîne ch en deus sous-chaînes sch1 et sch2 de même longueur:
sch1 <- Souschaîne(ch,1,a/2);
sch2 <-Souschaîne(ch,a/2,a/2);
4-On va inverser shc2:
sch <- inverse(sch2);
5-On va comparer sh1 et sch2 pour déterminer si ch est un palindrome:
Si sch1 = sch2 Alors palindrome <- vrai;
Sinon palindrome <- faux;
Finsi;
6-On va afficher le résultat:
Si palindrome = vrai Alors écrire('La chaîne est un polydrome.');
Sinon écrire('La chaîne n'est pas un polyndrome.');
Finsi;
Fin.
J'espère que je t'ai répondu
Algorithme résolution de problème;
variables ch,sch1,sh2 : chaîne de caractères;
palindrome : expression booléenne;
a: naturel;
Début;
1-lire(ch);
2-On va déterminer la longuer de la chaîne de caractères:
a <- longueur(ch);
3-on va diviser la chaîne ch en deus sous-chaînes sch1 et sch2 de même longueur:
sch1 <- Souschaîne(ch,1,a/2);
sch2 <-Souschaîne(ch,a/2,a/2);
4-On va inverser shc2:
sch <- inverse(sch2);
5-On va comparer sh1 et sch2 pour déterminer si ch est un palindrome:
Si sch1 = sch2 Alors palindrome <- vrai;
Sinon palindrome <- faux;
Finsi;
6-On va afficher le résultat:
Si palindrome = vrai Alors écrire('La chaîne est un polydrome.');
Sinon écrire('La chaîne n'est pas un polyndrome.');
Finsi;
Fin.
J'espère que je t'ai répondu
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
31 déc. 2007 à 21:09
31 déc. 2007 à 21:09
Salut,
essaie
essaie
#include <stdio.h> #include<string.h> int main (int argc, char **argv) { char mot[20]; int i, j, palindrome; palindrome = 0; printf ("Entrez un mot : "); scanf ("%s", mot); for (i = 0, j = strlen (mot) - 1; i <= j; ++i, --j){ if (mot[i] == mot[j]) palindrome = 1; else { palindrome = 0; break; } } if (palindrome == 1) printf ("%s est un palindrome\n", mot); else printf ("%s est n'est pas un palindrome\n", mot); return 0; }
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
1 janv. 2008 à 11:33
1 janv. 2008 à 11:33
Salut,
en C le type bool n'existe pas ;-)
Une expression vaut 1 si elle est vraie, ou 0 si elle est fausse
donc au lieu de if (palindrome == 1) j'aurais pu écrire tout simplement
en C le type bool n'existe pas ;-)
Une expression vaut 1 si elle est vraie, ou 0 si elle est fausse
donc au lieu de if (palindrome == 1) j'aurais pu écrire tout simplement
if (palindrome)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kélé le probléme dans mon programme en explikon svp :
#include<conio.h>
#include <stdio.h>
main ( )
{
char mot[20];
int i, j, palindrome=0;
printf ("Entrez un mot : ");
gets(mot[i]);
if (mot[i] == mot[j])
palindrome = 1;
else
palindrome = 0;
if (palindrome == 1)
printf ("%s est un palindrome\n", mot);
else
printf ("%s est n'est pas un palindrome\n", mot);
getch;
}
#include<conio.h>
#include <stdio.h>
main ( )
{
char mot[20];
int i, j, palindrome=0;
printf ("Entrez un mot : ");
gets(mot[i]);
if (mot[i] == mot[j])
palindrome = 1;
else
palindrome = 0;
if (palindrome == 1)
printf ("%s est un palindrome\n", mot);
else
printf ("%s est n'est pas un palindrome\n", mot);
getch;
}