/ Forside/ Teknologi / Udvikling / C/C++ / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
array
Fra : janni_s
Vist : 959 gange
300 point
Dato : 16-05-10 09:26

Jeg er ved at løse tidligere eksamenssæt, og sidder fast ved følgende:

int main() {
   int i,j;
   int ctr=0;
   int myArray[2][3];
   for (i=0; i<3; i++)
      for(j=0; j<2; j++){
         myArray[j][i]=ctr;
         ++ctr;
      }
   return 0;
}


spørgsmålet går på: hvad er værdien af myArray[1][2] i overstående kode?

Jeg mener ikke spørgsmålet giver mening, da arrayet erklæres som [2][3].
Svaret er 5, men jeg forstår ikke hvorfor.
hvordan kan et array antage én værdi? hvad er [2][3] egentlig et udtryk for?

Jeg kan ikke finde noget i min bog desværre.

Er der en der kender et sted på nettet, hvor brugen af & og * forklares meget tydeligt?

På forhånd tak. Vh


 
 
Accepteret svar
Fra : scootergrisen

Modtaget 300 point
Dato : 16-05-10 10:52

Jeg programmer ikke i c eller c++ men jeg vil da gerne komme med en kommentar alligevel.

myArray[1][2] må være 5.

for løkkerne går følgende igennem...
myArray[0][0] = 0
myArray[1][0] = 1
myArray[0][1] = 2
myArray[1][1] = 3
myArray[0][2] = 4
myArray[1][2] = 5

betyder int myArray[2][3]; ikke bare at man sætter en maksimal størrelse for arrayet ?
og hvis man skrev myArray[4][6] = 10; ville det formodentligt give en fejl fordi så stor at arrayet ikke.

Hvis du har et 2 dimensionelt array ligesom i dit eksempel med myArray[2][3] så svare det til du har et ternet stykke papir og du kan skrive en værdi i hver af de små firkanter på papiret.
På et papir er der måske 100 terner vandret og 300 ternet lodret også hedder arrayet myArray[100][300]

Hvis du så vil indsætte en værdi i en firkant midt på papiret så skriver du myArray[50][150] = 'abekat';
Også kan du i firkanten ved siden af indsætte en værdi med myArray[51][150] = 'missekat';

Så du kan altså indsætte mange værdi i et array ikke kun en værdi ligesom en almindelig variabel.

Du kan også have 3 dimensionelle arrays og 4 og 5 osv.

Du kan også have et 1 dimensionelt array hvis du siger variabel = 'dav';
Så er variabel[1] et a.
variabel[2] er et v.

Men altså jeg programmer ikke i c og c++ men håber dog du kan bruge det til noget alligevel.

Kommentar
Fra : janni_s


Dato : 16-05-10 14:31

Jo, tusinde tak for svaret.
Jeg havde ikke tænkt på, at ctr lægger værdier ind i arrayet.

tak for svaret

Godkendelse af svar
Fra : janni_s


Dato : 16-05-10 14:32

Tak for svaret scootergrisen.

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407822
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste