Supprimer une valeur dans un tableau en C
Ce programme recherche et supprime une valeur saisie, il comporte deux étapes:
- Parcourir la liste tant que la recherche n'est pas terminée et mémoriser l'indice dans une variable k.
- supprimer la valeur à l'indice k.
#include<stdio.h> #include<stdlib.h> int i,k; struct { int l; int t[50]; }tab; void sup(int t[20],int k) { for(i=k;i<tab.l;i++) t[i]=t[i+1]; tab.l--; } main() { //Changer la couleur de l'interface en bleu system("color 9e"); int val; printf("donner la dimenssion du tableau "); do scanf("%d",&tab.l); //la taille du tableau ne doit pas dépasser 50 while((tab.l>=50)||(tab.l<=0)); //remplir le tableau avec les valeurs for(i=0;i<tab.l;i++) { printf("T[%d]=",i); scanf("%d",&tab.t[i]); } //affichage d tableau printf("Affichage de tableau \n"); for(i=0;i<tab.l;i++) printf("\t\tT[%d]=%d\n",i,tab.t[i]); printf("Donnez la valeur de l’élément a supprimer "); scanf("%d",&val); //Chercher la valeur dans le tableau et supprimer la for(k=0;k<tab.l;k++) if(tab.t[k]==val) sup(tab.t,k); puts(""); //Affichage aprés suppression printf("Affichage Nouveau tableau \n"); for(i=0;i<tab.l;i++) printf("\t\tT[%d]=%d\n",i,tab.t[i]); system("pause"); return 0; } |