Remplir les cases paires d'un tableau 2d

Résolu
canaille68 Messages postés 4 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 19 avril 2009 - 19 avril 2009 à 14:57
canaille68 Messages postés 4 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 19 avril 2009 - 19 avril 2009 à 21:06
Bonjour,

je galere avec 2 tableaux 2D

un tableau tab de taille n, et un tableau newtab de taille N=2n-1

j'aimerais remplir le tableau newtab avec les valeurs de tab, en laissant a chaque fois une case de vide
Je dois arriver a mettre les valeurs que dans les lignes et colonnes paires de newtab
Je suis arriver a mettre le tab dans newtab mais sans laisser les cases vides.
voici mon code,

for( I=0; I<newtaille; I++)
             
            {
          
             for( J=0; J<newtaille; J++)
      

               {
             
                for( i=0; i<taille; i++)
                
                   {
                  
                   for( j=0; j<taille; j++) 

                      {
                  
                  recopie dans newtab les valeurs de tab                    if((I %2 0)&&(J %2 0))
                         {//recopie que dans les lignes et colonnes paires
                        
                     newtab[i][j] = tab[i][j];
                    
                    
                     }//fin de j
                   
                     }//fin de i
                    
              
                       }//fin de J     
                
                }//fin de I

Merci pour toutes vos idées,if((I %2 0)&&(J %2 0)) ne semble pas etre la solution
newtab[i][j] = tab[i][j];  me donne tab dans newtab mais sans me laisser les colonnes et lignes impaires vides
canaille 68

4 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 avril 2009 à 18:52
J'ai présume que tes tableaux sont de INT.

N est le nombre d'elements du tableau source.

ciao...
BruNews, MVP VC++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 avril 2009 à 15:59
int *src, *dst;


scr = (int*) tabA;
dst = (int*) tabB;


do {
  *dst = *src++;
  dst += 2;
} while(--N);

ciao...
BruNews, MVP VC++
0
canaille68 Messages postés 4 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 19 avril 2009
19 avril 2009 à 16:26
Bonjour BruNews,

je te remercie pour ta reponse, mais je suis novice et j'ai du mal avec les pointeurs.
J'essaye de comprendre:
src est le pointeur sur le 1er tableau et dst sur le 2eme

peux tu svp m'expliquer l'instruction a l'interieur du do et la condition d'arret --N
D'avance merci

canaille 68
0
canaille68 Messages postés 4 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 19 avril 2009
19 avril 2009 à 21:06
Merci pour tes explications

canaille 68
0
Rejoignez-nous