Programme compilable mais le résultat est faut

siwar -  
 siwar -
Bonjour,

j'ai pas su ma faute , pouvez vous m'aider s'il vous plait

#include <stdio.h>
#include <stdlib.h>

int main()
{
   char tab[50],temp;
   int i,n;
   printf("donner le nombre de cases ");
   scanf("%d",&n);
   for (i=0;i<n;i++)
   {   fflush(stdin);
       printf("remplissez la case numero %d :",i+1);
       scanf("%c",&tab[i]);

   }
   temp=tab[0];

   for(i=1;i<n;i++)
   {
       tab[i]=tab[i+1] ;
       tab[n-1]=temp;

   }
   for(i=0;i<n;i++)
{
    printf("la case %d est %c \n",i+1,tab[i]);
   fflush(stdin);}
    return 0;
}


A voir également:

1 réponse

Utilisateur anonyme
 
le contenu de tab[i+1] ; ligne 20 n'est pas initialisé

si on souhaite remplir une seule case le programme ne passera pas dans la deuxieme boucle à cause de la condition du for()

edit: c'est quoi le but de l'exercice ? à quoi sert la deuxieme boucle ?

edit2: tu sauvegardes aussi tab[0] dans temp, mais tu ne modifies jamais tab[0], cette "sauvegarde" n'a donc pas d'utilité
0
siwar
 
bonsoir voici le contenu de l'exercice
il me demande de permuter la première et la dernière case puis de faire un décalage à gauche pour les autres cases
0