Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

29.12.2007, 13:50

Verständnisprobleme

Hallo,
Ich bin gerade bei den Mehrdimensionalen Arrays angelangt und verstehe sie überhaupt nicht! :(
Kann mir einer ganz genau erklären wie das geht?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
    int Karte[Breite][Hoehe];  
    int x, y;                  
    int Zaehler = 0;           
[...]
    for (y=0; y<Hoehe; y++)
    {
        for (x=0; x<Breite; x++)
        {
            Karte[x][y] = Zaehler;
            Zaehler++;
        }
    }


Ich verstehe das echt nicht. :(

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

29.12.2007, 13:52

was verstehst du denn nicht? Weil diese Beschreibung ist ähnlich wie "mein PC startet nicht. Was soll ich tun?"
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

storage

Treue Seele

Beiträge: 138

Wohnort: Bad Salzungen

  • Private Nachricht senden

3

29.12.2007, 14:02

und ich verstehe nciht wo dein Problem ist?Ist doch ganz leicht zu verstehen.

Er durchläuft 2 For-Schleifen und speichert dort den Wert von der Variable Zähler dieser wird bei jedem durchlauf der verschatelten schleife erhöht.

Das ganze sieht so aus:

1.Schleifendurchlauf

C-/C++-Quelltext

1
2
3
4
5
6
7
8
for (y=0; y < 3; y++)
    {
        for (x=0; x < 3; x++)
        {
            Karte[x][y] = Zaehler; <--- heißt dann das Karte[0][0] = 0 ist,beim 2 dann Karte[1][0] = 1 und das geht bis Karte[2][0] = 2 dann beginnt der 2.Schleifendurchlauf 
            Zaehler++;
        }
    } 


2.Schleifendurchlauf

C-/C++-Quelltext

1
2
3
4
5
6
7
8
for (y=0; y < 3; y++)
    {
        for (x=0; x < 3; x++)
        {
            Karte[x][y] = Zaehler; <--- heißt dann das Karte[0][1] = 3 ist,beim 2 dann Karte[1][1] = 4 und das geht bis Karte[2][1] = 5 usw.
            Zaehler++;
        }
    }

4

29.12.2007, 14:06

Uhuh danke jetzt verstehe ichs... Manchmal brauche ich halt länger :oops:

5

29.12.2007, 16:40

Ich hab das beim ersten mal auch nicht verstanden. Kann ziemlich verwirrend sein, aber auf den zweiten oder dritten Blick wird es deutlicher.

Werbeanzeige