Arduino nybörjarefråga om Arrays

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
RadioDJ
Inlägg: 446
Blev medlem: 7 november 2005, 16:18:15
Ort: Helsingborg

Arduino nybörjarefråga om Arrays

Inlägg av RadioDJ »

Jag har 3 arrays
a, b och c.
a innehåller 1 2 3
b 4 5 6
c 7 8 9

Jag skulle vilja slå ihop dessa till en ny array som i sin tur då ska innehålla 1 2 3 4 5 6 7 8 9.

Hoppas Ni förstår mitt något kryptiska exempel.

Hur gör jag detta??
JanErik
Inlägg: 3191
Blev medlem: 11 februari 2008, 17:15:58
Ort: Vasa, Finland

Re: Arduino nybörjarefråga om Arrays

Inlägg av JanErik »

Enda är nog att skapa en ny array 'd' med utrymme för alla tre tidigare. Sedan kopiera in innehållet.
Om innehållet i dem kommer att ändra kan du eventuellt skapa en array av pekare som du sätter att peka på elementen i de tre tidigare.
Bäst att designa programmet att använda bara en stor om det ändå är det tänkta slutresultatet.
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Arduino nybörjarefråga om Arrays

Inlägg av Icecap »

Kryptisk - båda jag och nej.

En array har ett antal element. Du har 3 arrays med 3 element i varje - men det kunde likaväl ha varit 1 array med 9 element i.
Om vi tar A, B & C som exempel:
int A[3];
int B[3];
int C[3];

Dessa innehåller tillsamman 9 platser varför man kunde göra:
int X[9];

A[0-2] kunde då motsvara X[0-2].
B[0-2] kunde då motsvara X[3-5].
C[0-2] kunde då motsvara X[6-8].

Och man kan faktisk göra detta från början - men nu blir det lite komplicerat.

Kod: Markera allt

struct union
  {
  struct
    {
    int A[3];
    int B[3];
    int C[3];
    }
  int X[9];
  } Z;
Detta skapar då ett gemensamt område där Z.X[] innehåller alla värden men man kan fortfarande komma åt A[], B[] & C[].

Z.A[0-2] motsvarar då även samma variabler som Z.X[0-2]
Z.B[0-2] motsvarar då även samma variabler som Z.X[3-5]
Z.C[0-2] motsvarar då även samma variabler som Z.X[6-8]

Med 'union' säger man alltså att minnesplatsen delas av de variabler som anges, alltså lägger du in ett värde i Z.A[2] läggs det värde in i Z.X[2] på samma gång då de delar platsen i minnet.
RadioDJ
Inlägg: 446
Blev medlem: 7 november 2005, 16:18:15
Ort: Helsingborg

Re: Arduino nybörjarefråga om Arrays

Inlägg av RadioDJ »

Tack Icecap.
Ska ta och prova din variant.
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Arduino nybörjarefråga om Arrays

Inlägg av adent »

Kan du ge oss lite mer detaljer om vad du så att säga egentligen är ute efter så kan du kanske få en enklare lösning.

MVH: Mikael
Skriv svar