Bonjour,
svp je suis un débutant et je souhaiterais avoir l'explication de cette boucle définie comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for (I=0, J=0 ; I<N ; I++) { T[J] = T[I]; if (T[I]) J++; }
Bonjour,
svp je suis un débutant et je souhaiterais avoir l'explication de cette boucle définie comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for (I=0, J=0 ; I<N ; I++) { T[J] = T[I]; if (T[I]) J++; }
Apparement, c'est une boucle qui sert à « tasser » ton tableau vers le début en éliminant tous les éléments nuls.
Si je te le traduis en français:
Comme il a été dit précédemment, le but de cette boucle est d'éliminer les valeurs NULL du tableau sans en changer l'ordre des éléments.Pour J = 0 et I = 0 (initialisation) Tant que I<N (condition) faire I++ (incrémentation = I + 1 à la fin des instructions) (itération) { le tableau T à l'indice J prend la valeur du tableau T à l'indice I Si T[I] est différent de NULL alors j'incrémente J } (instructions)
Pour débuter je ne peux que te conseiller d'éviter les boucles for, source d'erreurs chez beaucoup, de faire ton initialisation avant une boucle while classique (tu prends un poil plus de lignes mais tu liras plus facilement ton code).
De plus, c'est pas vraiment joli ce: if (T[I]) J++; privilégie plutôt un retour à la ligne après la déclaration de la condition.
Regardez cette boucle :
pouvez-vous m'expliquer pourquoi la partie condition contient text[i] ?
Code C : Sélectionner tout - Visualiser dans une fenêtre à part for(i=0,j=0;text[i];i++)
merci d'avance![]()
Bonjour,
La boucle est parcourue tant que text[i]. Sachant qu'un scalaire est 'vrai' s'il est non nul cela correspond à parcourir la chaîne text tant que l'on n'a pas atteint la fin (car le terminateur '\0' vaut 0).
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
A noter que c'est quand même mal écris, et que text[i]!='\0' aurait été tellement plus explicite.
Partager