PortailAccueilFAQRechercherCalendrierS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Décaler les colonnes d'un tableau

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Admin
Admin
avatar

Masculin
Nombre de messages : 138
Age : 31
Date d'inscription : 02/09/2006

MessageSujet: Décaler les colonnes d'un tableau   Jeu 5 Oct - 14:28

Voici trois méthodes (de la plus simple à la plus rapide) permetant de décaler les colonnes d'un tableau vers la gauche (c'est à dire vers les indices plus faibles) en ajoutant des zéro dans la dernière colonne ainsi libérée.

Code:
#include <string.h> /* memmove et pas memcpy, car chevauchement. */

#define NLIG 3
#define NCOL 6

int main (void)
{
  int lig, col;
  int shiftw = 2;
  int Tab[NLIG][NCOL];

  /* decalage "a la main" */
  for (lig = 0; lig < NLIG; ++lig)
  {
    for (col = 0; col < shiftw-1; ++col)
    {
      Tab[lig][col] = Tab[lig][col+1]; /* decalage a gauche */
    }
    Tab[lig][shiftw-1] = 0 ;/* introduction de 0 à droite */
  }

  /* decalage optimise memmove */
  for (lig = 0; lig < NLIG; ++lig)
  {
    memmove (&Tab[lig][0], &Tab[lig][1], (shiftw-1)*sizeof(int)); /* decalage a gauche */
    Tab[lig][shiftw-1] = 0; /* introduction de 0 a droite */
  }

  {
    /* decalage optimise memmove+pointeurs */
    int (*plig)[NCOL];

    for (plig = &Tab[0]; plig < &Tab[NLIG]; ++plig)
    {
      memmove (&plig[0][0], &plig[0][1], (shiftw-1)*sizeof(int)); /* decalage a gauche */
      Tab[lig][shiftw-1] = 0; /* introduction de 0 a droite */
    }
  }
  return 0;
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://design.jeun.fr
 
Décaler les colonnes d'un tableau
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Tableau 2 colonnes - 1 ligne - avec cadre
» Tableau en page d'accueil : modifiable?
» Tableau HTML
» [Annulée] Une sorte de "tableau" dans un Message
» Arret d'un tableau horaire..

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
DESIGN STUDIO FORUM :: programmation :: C,C++-
Sauter vers: