Supprimer une case d'un tableau en c
Mr75
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je suis novice en C et en fusant ma 1ere application sur les tableau je me suis trouver dans un problème :
je veux supprimer un champ d'un tableau en C j'ai écris mon programme mais la solution n'est pas l'idéal :( et j'ai pas trouver la solution :(
voici mon code et j'aimerais bien trouver une solution !!!! aidez moi :(
je suis novice en C et en fusant ma 1ere application sur les tableau je me suis trouver dans un problème :
je veux supprimer un champ d'un tableau en C j'ai écris mon programme mais la solution n'est pas l'idéal :( et j'ai pas trouver la solution :(
voici mon code et j'aimerais bien trouver une solution !!!! aidez moi :(
#include <stdio.h>
#include <conio.h>
int main() {
int t[50], n, v, i, ind ;
v=0;
printf ("taille de tableau");
scanf("%i",&n);
for (i=0;i<n;i++)
{
printf("t[%i]",i);
scanf("%i",&t[i]);
}
printf("donner l'indice à supprimer");
scanf("%i",&ind);
for(i=ind;i<=n;i++)
{
t[i]=t[i+1];
printf("%i##",t[i]);
}
for (i=0;i<n;i++){
printf("%i**",t[i]);
}getch();
return 0;
}
Configuration: Windows XP Safari 532.0
4 réponses
-
mais la solution n'est pas l'idéal
Qu'entends-tu par là ?
for(i=ind;i<=n;i++)
Ton indice débordera, il faut mettre: 'i<n-1', car tu utiises 't[i+1]'.
Bonne continuation.-
-
bon a vrais dire j'ai trouver une solution mais je sais pas car je crois que c'est la tricherie ^^ car j'ai ajouter après la boucle for en question" n--;" et comme ça le résultat afficher a la fin est correcte et je ne trouve pas la dernière case en double !!!
es que cette solution est logique ou on peut avoir une solution concrète a mon problème ???
voici le code après la correction#include <stdio.h> #include <conio.h> int main() { int t[50], n, v, i, ind ; v=0; printf ("taille de tableau"); scanf("%i",&n); for (i=0;i<n;i++) { printf("t[%i]",i); scanf("%i",&t[i]); } printf("donner l'indice à supprimer"); scanf("%i",&ind); for(i=ind;i<n-1 ;i++) { t[i]=t[i+1]; } n--; for (i=0;i<n;i++){ printf("%i**",t[i]); }getch(); return 0; }
-