Hallo,
ich habe ein Array, welches 100 Elemente hat.
Davon soll ich jedes 12. in ein anderen Array packen.
Wie wäre da das beste vorgehen?
Ich würde es momentan mit einer for-schleife machen
1 | static uint8_t y = 0;
|
2 | for(uint8_t x=0; x<100; x+=12)
|
3 | {
|
4 | array2[y] = array1[x];
|
5 | y++;
|
6 | }
|
Danach muss ich das ganze 8 mal durchlaufen lassen. Ich bekomme also 8
mal ein Array mit 100 elementen, (also 800 elemente), wo jeder 12 in
einem anderen array gespeichert werden soll.
Beim 2. mal darf dann allerdings nicht bei element 0 gestartet werden,
sondern bei element 8.
Das letzte element vom 1. Zyklus ist das 96. Element. sprich 12 Elemente
weiter ist das 8. im 2. Zyklus.
Da würde ich anstelle von der 0 eine neue variable einfügen und mit
dieser dann den Start der for-schleife ausrechnen.
1 | static uint8_t y = 0;
|
2 | static uint8_t z = 0;
|
3 | for(uint8_t x=z; x<100; x+=12)
|
4 | {
|
5 | array2[y] = array1[x];
|
6 | y++;
|
7 | z = x;
|
8 | }
|
9 | z = z + 12 - 100;
|
Gibt es da nicht aber einen schöneren weg?