Suppression d'un élément du tableau (Langage c)

plkraz -  
M3NSONG3 Messages postés 670 Statut Membre -
Bonjour
J'arrive pas à comprendre la partie en gras
#include<stdio.h>
#include<stdlib.h>
int main()
{
int t[100];
int i,j,n,a;
printf("Donnez le nombre des elements du tableau:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Donnez l'element %d:\t",i+1);
scanf("%d",&t[i]);
}
for(i=0;i<n;i++)
printf("%d ",t[i]);
printf("\n");
printf("Donnez l'element a supprimer du tableau:\n");
scanf("%d",&a);
for(i=0;i<n;i++)
{
if(t[i]==a)
{
for(j=i;j<n-1;j++)
t[j]=t[j+1];
n--;
i--;
}
}

for(i=0;i<n;i++)
printf("%d ",t[i]);
printf("\n");
system("pause");
return 0;
}
elle sert a quoi ?
merci

1 réponse

  1. M3NSONG3 Messages postés 670 Statut Membre 162
     
    Salut !
    La prochaine fois essaye d'indenter ton code et d'utiliser la balise fait pour... Une fois le code indenté on y voit tout de suite plus clair :
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        int t[100];
        int i,j,n,a;
        printf("Donnez le nombre des elements du tableau:\n");
        scanf("%d",&n);
    
        for(i=0;i<n;i++)
        {
            printf("Donnez l'element %d:\t",i+1);
            scanf("%d",&t[i]);
        }
    
        for(i=0;i<n;i++)
            printf("%d ",t[i]);
    
        printf("\n");
        printf("Donnez l'element a supprimer du tableau:\n");
        scanf("%d",&a);
    
        for(i=0;i<n;i++)
        {
            if(t[i]==a)
            {
                for(j=i;j<n-1;j++)
                    t[j]=t[j+1];
                n--;
                i--;
            }
        }
    
        for(i=0;i<n;i++)
            printf("%d ",t[i]);
    
        printf("\n");
        system("pause");
        return 0;
    }


    Pour répondre à ta question, la partie sur tu as surligné, littéralement, elle va chercher ta valeur, et une fois qu'elle l'a trouvé, elle décale toutes les valeurs qui suivent d'une case précédente (ce qui a pour effet de supprimer ta valeur)
    Elle met ensuite à jour le i et le n avec un élément de moins pour l'affichage qui suit.
    1