Копирование каждого n-го элемента из одного массива в другой
Кто-нибудь знает способ скопировать каждый n-й элемент из одного массива в другой? Например, у меня есть массив Data [x] и я хочу скопировать каждый третий (третий) элемент - Data [0], Data[3], Data[6] и т. Д. В новый массив Data2 [j]. Я пытался использовать цикл for, но безуспешно.
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++;
}
}
}
1 ответ
Почему вы не объявляете переменные в функции? Все четыре из них, кажется, используются локально и не должны быть видны вне функции.
Зачем увеличивать i в этом разделе вместо j, это опечатка?
for (j=0; j<127; i++)
{
Data2[j] = Data[i+=3];
j++;
}
Я бы написал это так:
for (j=0; j<127; j++)
{
Data2[j] = Data[i];
i+=3;
}
i=0; // Reset pointer