Probleme en C# sur les tableaux
mickou64
-
Droopy_ Messages postés 252 Statut Membre -
Droopy_ Messages postés 252 Statut Membre -
Bonjour,
Voila j'ai un probleme je n'arrive pas à supprimer un élément dans mon tableau. Le code est le suivant :
Console.WriteLine("Saisissez un nom de contact");
rech2 = Console.ReadLine();
for (i = 0; i < element; i++)
{
if (rech2 == tabRep[i].nom)
{
trouve2 = true;
indice2 = i;
}
}
for (i = indice2; i < element; i++)
{
tabRep[i] = tabRep[i + 1];
}
Donc la je remplace chaque élément par son successeur mais je ne sais pas comment supprimer le dernier.
De plus, par logique dans l'avant dernier élément de mon tableau ainsi que dans le dernier il devrait y avoir le meme contact ... Mais dans le dernier il n'y a plus rien (numéro de tel vide, nom vide, prenom vide etc.)
Merci d'avance.
Bonne journée à toutes et à tous
Voila j'ai un probleme je n'arrive pas à supprimer un élément dans mon tableau. Le code est le suivant :
Console.WriteLine("Saisissez un nom de contact");
rech2 = Console.ReadLine();
for (i = 0; i < element; i++)
{
if (rech2 == tabRep[i].nom)
{
trouve2 = true;
indice2 = i;
}
}
for (i = indice2; i < element; i++)
{
tabRep[i] = tabRep[i + 1];
}
Donc la je remplace chaque élément par son successeur mais je ne sais pas comment supprimer le dernier.
De plus, par logique dans l'avant dernier élément de mon tableau ainsi que dans le dernier il devrait y avoir le meme contact ... Mais dans le dernier il n'y a plus rien (numéro de tel vide, nom vide, prenom vide etc.)
Merci d'avance.
Bonne journée à toutes et à tous
A voir également:
- Probleme en C# sur les tableaux
- Les tableaux word - Guide
- Tableaux croisés dynamiques - Guide
- Fusionner deux tableaux excel - Guide
- Imprimer tableau excel sur une page - Guide
- Triez le tableau pour que les villes les plus peuplées soient en haut - Guide
1 réponse
Bonsoir,
Ton tableau à "element" elements. donc il va de 0 à element-1.
Dans ta boucle pour bouger les elements, tu va jusqu'à i<element, donc element-1,
mais tu fais : tabRep[i] = tabRep[i + 1];
ce qui donne tabRep[ element-1 ] = tabRep[ element ];
Donc tu va un coup trop loin... Du déborde de ton tableau (plantage assuré à terme).
En fait, pour "effacer" le dernier élement il te suffit de mettre element=element-1
tu ne l'efface pas, tu réduit le tableau.
Ton tableau à "element" elements. donc il va de 0 à element-1.
Dans ta boucle pour bouger les elements, tu va jusqu'à i<element, donc element-1,
mais tu fais : tabRep[i] = tabRep[i + 1];
ce qui donne tabRep[ element-1 ] = tabRep[ element ];
Donc tu va un coup trop loin... Du déborde de ton tableau (plantage assuré à terme).
En fait, pour "effacer" le dernier élement il te suffit de mettre element=element-1
tu ne l'efface pas, tu réduit le tableau.