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.
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
nde l'utilisateur, qui représente le nombre d'éléments dans le tableau. - La boucle
forest utilisée pour accepter les entrées de l'utilisateur à l'aide de la fonctionscanfdans le tableauarr. - 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
forpour prendre n entiers un par un à l'aide de la fonctionscanfdans le tableau d'entiersarr. - 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
forde 0 à n-1 puis, à l'aide d'une instructionif, 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
posdans laquelle nous stockons l'index de cet élément. - Nous utilisons une autre boucle
forpour 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.



