Suppression d'un élément d'un tableau en utilisant C

CCBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Un tableau est une collection d'éléments de données similaires stockés à des emplacements mémoire contigus et est composé d'éléments. Un élément peut être consulté en indexant la position de l'emplacement mémoire correspondant. Parfois, il devient essentiel de supprimer n'importe quel élément du tableau en fonction de sa position ou de sa valeur. Dans ce laboratoire, nous allons apprendre à supprimer un élément du tableau en fonction de sa position et de sa valeur.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/FileHandlingGroup(["File Handling"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/ControlFlowGroup -.-> c/if_else("If...Else") c/ControlFlowGroup -.-> c/for_loop("For Loop") c/CompoundTypesGroup -.-> c/arrays("Arrays") c/FunctionsGroup -.-> c/function_declaration("Function Declaration") c/FileHandlingGroup -.-> c/create_files("Create Files") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/if_else -.-> lab-123230{{"Suppression d'un élément d'un tableau en utilisant C"}} c/for_loop -.-> lab-123230{{"Suppression d'un élément d'un tableau en utilisant C"}} c/arrays -.-> lab-123230{{"Suppression d'un élément d'un tableau en utilisant C"}} c/function_declaration -.-> lab-123230{{"Suppression d'un élément d'un tableau en utilisant C"}} c/create_files -.-> lab-123230{{"Suppression d'un élément d'un tableau en utilisant C"}} c/output -.-> lab-123230{{"Suppression d'un élément d'un tableau en utilisant C"}} end

Créer un projet C

Tout d'abord, nous devons créer un projet C dans l'éditeur de code. Créez un nouveau fichier "main.c" dans le répertoire ~/projet/, et écrivez le code suivant :

#include <stdio.h>

int main()
{
  return 0;
}

Supprimer un élément d'un tableau en fonction de sa position

Dans cette étape, nous allons écrire un programme en langage C qui accepte un tableau d'entiers, la taille du tableau et une position d'un élément à supprimer. Ensuite, nous supprimerons l'élément et afficherons le tableau mis à jour.

#include <stdio.h>

int main()
{
    int arr[100], position, c, n;

    printf("Entrez le nombre d'éléments dans le tableau : ");
    scanf("%d", &n);

    printf("Entrez %d éléments :\n", n);
    for(c = 0; c < n; c++)
        scanf("%d", &arr[c]);

    printf("Entrez la position de l'élément à supprimer : ");
    scanf("%d", &position);

    if (position >= n + 1)
        printf("Suppression impossible.\n");
    else
        for (c = position - 1; c < n - 1; c++)
            arr[c] = arr[c+1];

    printf("Le tableau mis à jour est : ");
    for(c = 0; c < n-1; c++)
        printf("%d ", arr[c]);

    return 0;
}

Explication du code :

  • Nous créons un tableau d'entiers arr[100], qui peut stocker un maximum de 100 éléments.
  • Nous prenons en entrée un entier n de l'utilisateur, qui représente le nombre d'éléments dans le tableau.
  • La boucle for est utilisée pour accepter les entrées de l'utilisateur à l'aide de la fonction scanf dans le tableau arr.
  • Nous prenons la position de l'élément à supprimer en entrée de l'utilisateur.
  • Nous vérifions si la position saisie par l'utilisateur est valide ou non ; elle doit être comprise entre 1 et n.
  • Si la position est valide, nous plaçons l'élément à gauche de la position à la place de l'élément supprimé, ce qui est réalisé en mettant en œuvre une boucle pour déplacer l'élément vers la gauche.
  • Enfin, nous affichons le tableau mis à jour à l'aide de l'instruction printf.

Supprimer un élément d'un tableau en fonction de sa valeur

Dans cette étape, nous allons écrire un programme en C pour supprimer un élément du tableau en fonction de la valeur saisie par l'utilisateur.

#include<stdio.h>

int main()
{
    int arr[10], element, c, n, pos, found=0;

    printf("Entrez le nombre d'éléments dans le tableau : ");
    scanf("%d", &n);

    printf("Entrez %d éléments :\n", n);
    for (c = 0; c < n; c++)
        scanf("%d", &arr[c]);

    printf("Entrez l'élément à supprimer : ");
    scanf("%d", &element);

    for (c = 0; c < n; c++)
    {
        if (arr[c] == element)
        {
            found = 1;
            pos = c;
            break;
        }
    }

    if (found == 1)
    {
        for (c = pos; c < n - 1; c++)
            arr[c] = arr[c+1];

        printf("Le tableau mis à jour est : ");
        for (c = 0; c < n - 1; c++)
            printf("%d ", arr[c]);
    }

    else
        printf("L'élément n'a pas été trouvé dans le tableau.");

    return 0;
}

Explication du code :

  • Nous créons un tableau d'entiers arr[10].
  • Nous stockons le nombre d'éléments à ajouter à partir de la variable d'entrée utilisateur n.
  • Nous utilisons une boucle for pour prendre n entiers un par un à l'aide de la fonction scanf dans le tableau d'entiers arr.
  • Nous prenons l'entrée de l'élément que nous voulons supprimer à partir de l'utilisateur.
  • Nous parcourons le tableau en utilisant une boucle for de 0 à n-1 puis, à l'aide d'une instruction if, nous vérifions si l'élément saisi par l'utilisateur est égal à l'un des éléments du tableau ou non.
  • S'il est égal, alors nous déclarons une variable pos dans laquelle nous stockons l'index de cet élément.
  • Nous utilisons une autre boucle for pour supprimer l'élément et décaler les éléments restants du tableau.
  • Enfin, nous affichons le tableau mis à jour à l'aide de l'instruction printf.

Résumé

Dans ce laboratoire, nous avons appris à supprimer un élément d'un tableau selon sa position ou sa valeur en programmation C. Le programme pour supprimer un élément d'un tableau prend le tableau, sa taille et la position/valeur de l'élément à supprimer en entrées, une boucle for est utilisée pour parcourir le tableau, puis la position ou la valeur de l'élément cible est trouvée et ensuite une boucle est utilisée pour supprimer l'élément. Cela est réalisé en copiant l'élément présent à droite de l'élément à supprimer vers la gauche jusqu'à la fin du tableau. Après la suppression, la taille du tableau est réduite de un.