Tableau - revenir au début si déplacement trop grand

Tableau - revenir au début si déplacement trop grand - Algo - Programmation

Marsh Posté le 31-03-2012 à 18:25:00    

:hello:  
 
Je cherche un algo pour faire ceci :
 
J'ai un tableau de taille 10, je suis en position 9, je fait un décalage de +5, j'aimerai arriver à la position 4 (vous voyez le principe)...
 
Idem si je fait un décallage de 12 ou 13 ...
 
Je sèche un peu la, merci de votre aide :-) (juste une piste ou quoi 'aiderai beaucoup, pas besoin de code source ;-) )
 
Merci merci !!


---------------
.
Reply

Marsh Posté le 31-03-2012 à 18:25:00   

Reply

Marsh Posté le 31-03-2012 à 18:46:13    

Un modulo tout simplement, non ?
 
Un ptit exemple :  
 

Code :
  1. int position=0;
  2. int position_mod=0;
  3. position++;
  4. position_mod = position % 7;


 
ça donnerait un truc comme ça :  
( position ) ( position_mod )
    00                   0
    01                   1
    02                   2
    03                   3
    04                   4
    05                   5
    06                   6
    07                   0
    08                   1
    09                   2
    10                   3


---------------
Perhaps you don't deserve to breathe
Reply

Marsh Posté le 31-03-2012 à 21:11:44    

didier1809 a écrit :

:hello:  
 
Je cherche un algo pour faire ceci :
 
J'ai un tableau de taille 10, je suis en position 9, je fait un décalage de +5, j'aimerai arriver à la position 4 (vous voyez le principe)...
 
Idem si je fait un décallage de 12 ou 13 ...
 
Je sèche un peu la, merci de votre aide :-) (juste une piste ou quoi 'aiderai beaucoup, pas besoin de code source ;-) )
 
Merci merci !!


 
Utilise une fonction de wrapping.
 
Enfin, des fonctions, une pour le successeur et une pour le prédécesseur, qui boucle dans un sens et dans l'autre.


Message édité par Profil supprimé le 31-03-2012 à 21:13:53
Reply

Marsh Posté le 01-04-2012 à 11:18:48    

Merci à vous, le modulo a bien fait son affaire :-)


---------------
.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed