Probleme en Programme C
Fermé
abdelali
-
17 févr. 2011 à 16:41
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 17 févr. 2011 à 18:55
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 17 févr. 2011 à 18:55
A voir également:
- Probleme en Programme C
- Programme demarrage windows 10 - Guide
- Désinstaller programme windows 10 - Guide
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
1 réponse
Hxyp
Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
54
Modifié par Hxyp le 17/02/2011 à 19:38
Modifié par Hxyp le 17/02/2011 à 19:38
Bonjour,
La première boucle ;
for(J=0;CH[J];J++);
sert uniquement à mettre dans J le nombre de caractères entrés puis on a le
J--;
qui retire 1 au nombre total de caractères
PALI=1;
PALI est initialisé à 1
la seconde boucle :
for(I=0;PALI&&I<J;I++,J--)
if(CH[I]!=CH[J])
PALI=0;
PALI&&I<J veut dire, "Tant que" PALI et I sont inférieurs à J
I++,J-- veut dire, on incrémente I de 1 et on décrémente J de 1
if(CH[I]!=CH[J]) veut dire, "si" le caractère à la position I n'est pas le même que le caractère à la position J
alors PALI=0
la seconde boucle peut être codée ainsi :
Edit: pour la première boucle j'explique ce que ça fait mais pas ce que ça fait ahahah. Donc en fait la première boucle :
Veut dire "tant que le caractère n'est pas nul", tant que CH[J] n'est pas le caractère de fin de chaine le fameux \0 qui vaux 0.
ce qui revient à faire
La première boucle ;
for(J=0;CH[J];J++);
sert uniquement à mettre dans J le nombre de caractères entrés puis on a le
J--;
qui retire 1 au nombre total de caractères
PALI=1;
PALI est initialisé à 1
la seconde boucle :
for(I=0;PALI&&I<J;I++,J--)
if(CH[I]!=CH[J])
PALI=0;
PALI&&I<J veut dire, "Tant que" PALI et I sont inférieurs à J
I++,J-- veut dire, on incrémente I de 1 et on décrémente J de 1
if(CH[I]!=CH[J]) veut dire, "si" le caractère à la position I n'est pas le même que le caractère à la position J
alors PALI=0
la seconde boucle peut être codée ainsi :
for(I=0;I<J;I++) { if(PALI>=J) break; if(CH[I]!=CH[J]) PALI=0; J--; }
Edit: pour la première boucle j'explique ce que ça fait mais pas ce que ça fait ahahah. Donc en fait la première boucle :
for(J=0;CH[J];J++);
Veut dire "tant que le caractère n'est pas nul", tant que CH[J] n'est pas le caractère de fin de chaine le fameux \0 qui vaux 0.
ce qui revient à faire
for(J=0;CH[J]!='\0';J++);