Renvoyer char
Résolu/Fermé
A voir également:
- Expecting value line 1 column 1 (char 0)
- Expecting value: line 1 column 1 (char 0) ✓ - Forum MacOS
- Line console 0 - Forum Réseau
- Line vty 0 4 ✓ - Forum CISCO
- Autolt error line 0 ✓ - Forum Virus / Sécurité
- Line - Télécharger - Messagerie
2 réponses
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
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
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
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