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

01.04.2015, 13:40

Brauche Hilfe um einen kleinen Quellcode zu verstehen mit (for)! C++

C-/C++-Quelltext

1

Hallo Liebe Community
Ich bin Neu in diesem Fourm und bin grade dabei c++ zulernen.
Jetzt habe ich das problem das ich nicht weiter komme unzwar versteh ich im diesem quell code nicht
was das dickfarbe bedeutet. bisschen hab ich verstanden aber ich kann mir nicht so vorstellen wie es funktioniert.

was Arrays sind Variablen und und hab ich alles geblickt do while .. aber dieses for (y = 0; y<Hoehe; y++) geht nicht
in meinem Kopf rein kann jemand am besten ein leichtes Beispiel machen wie das funktioniert was genau passiert.


// Listing 5.5
// Mehrdimensionale Arrays
//
#include <iostream>

using namespace std;

// Hauptprogramm
//
int main()
{
// Konstanten
//
const int Breite = 3; // Breite der Karte
const int Hoehe = 3; // Hoehe der Karte

// Variablen
//
int Karte[Breite][Hoehe]; // Zweidimensionales Array für die Karte
int x, y; // Schleifenzähler
int Zaehler = 0; // Zum Füllen der Karte

// Karte mit Werten füllen
for (y = 0; y<Hoehe; y++)
{
for (x = 0; x<Breite; x++)
{
Karte[x][y] = Zaehler;
Zaehler++;
}
}


// Karte ausgeben
for (y = 0; y<Hoehe; y++)
{
for (x = 0; x<Breite; x++)
{
cout << Karte[x][y];
}

cout << endl;
}

return 0;
}

C-/C++-Quelltext

1
2
3
4
5
6
7
8
// C++ für Spieleprogrammierer// Listing 5.5// Mehrdimensionale Arrays//#include <iostream>
using namespace std;
// Hauptprogramm//int main(){   // Konstanten   //  const int Breite = 3; // Breite der Karte   const int Hoehe = 3;  // Hoehe der Karte
    // Variablen    //  int Karte[Breite][Hoehe];  // Zweidimensionales Array für die Karte    int x, y;                  // Schleifenzähler  int Zaehler = 0;           // Zum Füllen der Karte
    // Karte mit Werten füllen for (y = 0; y<Hoehe; y++)   {       for (x = 0; x<Breite; x++)      {           Karte[x][y] = Zaehler;          Zaehler++;      }   }
    // Karte ausgeben   for (y = 0; y<Hoehe; y++)   {       for (x = 0; x<Breite; x++)      {           cout << Karte[x][y];        }
        cout << endl;   }
    return 0;}


Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

2

01.04.2015, 13:48

Das sind 2 in einander verschachtelte for-Schleifen.
Pro Durchlauf der ersten Schleife wird die zweite (innere) Schleife ausgeführt.

Worin liegt jetzt das Problem? Beim Verständnis von for-Schleifen oder nur bei der verschachtelten Variante hier?


Edit:
Das "Rechtschreibfeature" ist die Hölle :cursing:

3

01.04.2015, 13:54

was das drinen in der for-schleife bedeutet

Ich verstehe nicht was das drinnen bedeutet for (x = 0; x<Breite; x++) wie das funktioniert.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »RPGFreaky« (01.04.2015, 14:04)


FSA

Community-Fossil

  • Private Nachricht senden

4

01.04.2015, 14:07

Genau so, wie das obendrüber mit y.

Mein dass wird dauernd mit zwei s geschrieben. Nur wenn ich den Text einfüge mit einem s. Was ist da los?
Edit2: jetzt wird das mein durch meines ersetzt. Ist mein Handy kaputt oder gabs hier ein Update?

Was zur hölle.

Edit4: oh... Habs verstanden :D

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »FSA« (01.04.2015, 14:15)


Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

5

01.04.2015, 14:10

Ich verstehe nicht was das drinnen bedeutet for (x = 0; x<Breite; x++) wie das funktioniert.


Dann solltest du dir unbedingt entsprechende Literatur dazu ansehen. Verständnis von Schleifen ist etwas ganz Essenzielles. Sowohl C++ als auch C# und Java bedienen sich dieser, und es funktionieren alle gleich.

In diesem konkreten Fall bedeutet sie folgendes:

Du initialisierst x mit 0. Dann wird überprüft ob x kleiner als die Breite ist. Wenn ja, wird der Inhalt der Schleife ausgeführt und x wird um 1 erhöht. Das passiert so lange bis x < Breite false liefert. Also x gleich oder größer Breite ist.
Sobald das durch ist, wird in der darüber liegenden Schleife y um eins erhöht und dann beginnt die Schleife mit x erneut.

6

01.04.2015, 14:23

Ich verstehe nicht was das drinnen bedeutet for (x = 0; xwie das funktioniert.



Dann solltest du dir unbedingt entsprechende Literatur dazu ansehen. Verständnis von Schleifen ist etwas ganz Essenzielles. Sowohl C++ als auch C# und Java bedienen sich dieser, und es funktionieren alle gleich.

In diesem konkreten Fall bedeutet sie folgendes:

Du initialisierst x mit 0. Dann wird überprüft ob x kleiner als die Breite ist. Wenn ja, wird der Inhalt der Schleife ausgeführt und x wird um 1 erhöht. Das passiert so lange bis x < Breite false liefert. Also x gleich oder größer Breite ist.
Sobald das durch ist, wird in der darüber liegenden Schleife y um eins erhöht und dann beginnt die Schleife mit x erneut.

Ich verstehe nicht was das drinnen bedeutet for (x = 0; xwie das funktioniert.



Dann solltest du dir unbedingt entsprechende Literatur dazu ansehen. Verständnis von Schleifen ist etwas ganz Essenzielles. Sowohl C++ als auch C# und Java bedienen sich dieser, und es funktionieren alle gleich.

In diesem konkreten Fall bedeutet sie folgendes:

Du initialisierst x mit 0. Dann wird überprüft ob x kleiner als die Breite ist. Wenn ja, wird der Inhalt der Schleife ausgeführt und x wird um 1 erhöht. Das passiert so lange bis x < Breite false liefert. Also x gleich oder größer Breite ist.
Sobald das durch ist, wird in der darüber liegenden Schleife y um eins erhöht und dann beginnt die Schleife mit x erneut.
Vielen Dank jetzt hab ichs fast kapiert danke so hab ich das gemeint das da was überprüft wird und ausgeführt hab ich nicht gewust
aber jetzt hat es eingeleuchtet.
danke vielmals


7

07.04.2015, 16:15

Nur mal so nebenbei, für das Buch welches du benutzt gibt es in diesem Forum ein Extra unterforum für Fragen :)
Du sagtest du hast es fast kapiert? Ich habe gestern erst dieses Kaptiel durchgearbeitet, und falls du noch eine Frage dazu hast kannst du gerne fragen

Werbeanzeige