Renvoyer char
Résolu/Fermé
A voir également:
- Expecting value line 1 column 1 (char 0) c'est quoi
- Line - Télécharger - Messagerie
- Disque 1 aucun média 0 octets 0 octets ✓ - Forum Disque dur / SSD
- Excel différent de 0 ✓ - Forum Excel
- Si #n/a alors 0 - Forum Bureautique
- Minimal bash-like line editing is supported ✓ - Forum Linux / Unix
2 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 014
11 févr. 2017 à 17:40
11 févr. 2017 à 17:40
Bonjour,
Dans ce cas ta boucle for sur les i, ainsi que ton if, ne servent à rien puisque tu peux directement aller au bon rang vu que tu le connais.
Et attention, dans ta boucle sur les j, tu fais j > taille ce qui est faux dès le départ puisque j = i+1.
if (rang == table[i])va comparer ton rang avec la valeur dans le tableau, c'est à dire le char que tu veux retourner, ne voudrais tu pas plutôt faire
if (rang == i)pour supprimer le caractère situé au rang donné ?
Dans ce cas ta boucle for sur les i, ainsi que ton if, ne servent à rien puisque tu peux directement aller au bon rang vu que tu le connais.
Et attention, dans ta boucle sur les j, tu fais j > taille ce qui est faux dès le départ puisque j = i+1.
public char supprime(int rang) { char carac = table[rang]; taille--; for (int i = rang; i < taille; i++) { table[i] = table[i+1]; } return carac; }
NHenry
Messages postés
15102
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 mars 2024
328
11 févr. 2017 à 17:46
11 févr. 2017 à 17:46
J'ai un souci de compréhension de ton code :
De ce que je pense que tu veux faire :
- Tu appelles ta fonction pour retirer l'item d'index "rang" dans ta table "table" et tu compacte la table pour éviter le trou.
De ce que je constate :
- Tu appelles ta fonction pour retirer l'item "rang" de ta table et tu compactes ensuite.
Si Rang est l'index de l'item à retirer, ta fonction est fausse.
Si Rang est l'item à retirer alors ru n'as qu'à retourner "rang" ou au pire, faire un "break" avant de sortir de ton "if".
De ce que je pense que tu veux faire :
- Tu appelles ta fonction pour retirer l'item d'index "rang" dans ta table "table" et tu compacte la table pour éviter le trou.
De ce que je constate :
- Tu appelles ta fonction pour retirer l'item "rang" de ta table et tu compactes ensuite.
Si Rang est l'index de l'item à retirer, ta fonction est fausse.
Si Rang est l'item à retirer alors ru n'as qu'à retourner "rang" ou au pire, faire un "break" avant de sortir de ton "if".
11 févr. 2017 à 18:18