#include #include #include int main() { char mot[50]; // un tableau d'au plus 50 caractères. char mot2[25]; int L; int tab[2*L]; printf("Donner un mot\n"); scanf("%s",mot); L=strlen(mot); strcpy(mot2,mot); // dupliquer le mot et concaténer les deux copies strcat(mot,mot2); printf("%s\n",mot); for (int i=0;i<=2*L-1;i++){ // l'idée d'utilisation du tableau en entier avec les codes ASCII des caractères est la facilité de manipuler tab [i]= mot[i]; //ce type de tableau par rapport à celui de caractères. } for (int i=0;i<=2*L-1;i++){ // pour juste voir si le tableau en entier contient les codes ASCII de caractères printf("%d\t",tab [i]); } for (int i=0;i<=L-1;i++){ int N=i+2; // la première itération commence à deux rangs plus loin que le nombre pointé par i. int M= L-2+i; // la dernière dépend de la longueur du mot donné et de la valeur de i. for(int j=N; j<=M;j++){ printf ("\n"); printf ("%c", tab [i]); // forcer le tableau à afficher le résultat en caractères. printf ("%c", tab[j]); printf ("\n"); } } return 0; }