Bonjour,

Je suis éperdue dans un programme qui présente des disfonctionnement, on m'a chargé de faire un programme qui permet de dire s'il le mot est un mot carré ou pas sans tenir compte des espaces.

voilà à tout ce que j'ai pu aboutir mais le résultat est faux >.<

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>
#include<conio.h>
#include<string.h>
int main() {
    char ch[50],*p,*q;
    int R,Etat=0,j;
 
   printf("la chaine \n");
   gets(ch);
   R=strlen(ch)-1;
   p=ch;
   q=p+R/2+1;
 
 
   while(*q!='\0' && R%2==0 && p<q && p<=ch+R){
 
                                               if(*p==*q){ Etat++;
 
                                               }
                                               else { Etat--;break;}
                                               p++;
                                               q++;
                                               }
 
 
   if(Etat==R/2){printf(" \n Oui");}
   else printf("non");
    getch();
    return 1;
           }
j'implore votre aide s'il vous plait