2015-08-16 2 views
0

Est-ce que quelqu'un sait comment copier chaque nième élément d'un tableau à un autre? Par exemple, j'ai un tableau Data [x] et je veux copier chaque troisième (3e) élément - Data [0], Data [3], Data [6] etc. dans un nouveau tableau Data2 [j]. J'ai essayé d'utiliser une boucle for mais sans succès.Copie de chaque élément n d'un tableau à un autre

void StoreData() 
{ 
bufferPointer1 = &BufferA[0]; 
x=0; 
i=0; 
j=0; 

while (x<NO_SAMPLES-1) 
{ 
    Data[x] = *bufferPointer1; 
    bufferPointer1++; 
    x++; 
    for (j=0; j<127; i++) 
     { 
     Data2[j] = Data[i+=3]; 
     j++; 
     } 
} 
} 
+0

J'utilise un dspic33fj avec xc16 – JBH

Répondre

0

Pourquoi ne déclarez-vous pas les variables dans la fonction? Tous les quatre semblent être utilisés localement et ne devraient pas être visibles en dehors de la fonction.

Pourquoi incrémenter i dans cette section au lieu de j, Est-ce une faute de frappe?

for (j=0; j<127; i++) 
     { 
     Data2[j] = Data[i+=3]; 
     j++; 
     } 

Je voudrais écrire comme ceci:

for (j=0; j<127; j++) 
     { 
     Data2[j] = Data[i]; 
     i+=3; 
     } 
    i=0;      // Reset pointer