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

Fermé
plkraz - Modifié le 7 nov. 2020 à 17:38
M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 - 7 nov. 2020 à 18:43
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
A voir également:

1 réponse

M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
Modifié le 7 nov. 2020 à 18:44
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