[C/C++] 2-dimensionales Array mit for-Schleifen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von lastFight, 21. Februar 2009 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 21. Februar 2009
    2-dimensionales Array mit for-Schleifen

    Erst mal Hallo ich habe folgendes Problem und zwar habe ich eine Aufgabe bekommen in C und habe mich sehr bemüht diese Aufgabe zu lösen aber ohne erfolg deshalb frage ich euch jetzt kann mir diese Aufgabe bitte jemand erklären .

    Aufgabe1)
    Ergänze pcRaum.cpp so, das auch die Aufgabe in 2 verschachtelten for-Schleifen erfolgt.


    Und soweit bin ich gekommen.


    Code:
    #include<iostream>
    #define reihen 4
    #define spalten 6
    using namespace std;
    
    int main()
    {
     int pcRaum[reihen][spalten]; //Deklaration eines
     // 2-dimensionalen Arrays
     int lfdNr = 1; // Variable deklariert und
     // gleichzeitig initialisiert
     for(int y=0;y<reihen;y++)
     for(int x=0; x<spalten; x++)
     {
     pcRaum[x][y] = lfdNr;
     lfdNr++;
     }
    
    
    
    
     cout << pcRaum[1][0];
    
    }

    Würde mich sehr freuen wenn mir wer helfen könnte

    Mfg,

    lastFight
     

  2. Anzeige
  3. #2 21. Februar 2009
    AW: Brauche Hilfe !!!

    Der Code ist übrigens in C++

    Code:
    #include<iostream>
    #define reihen 4
    #define spalten 6
    using namespace std;
    
    int main()
    {
    int pcRaum[reihen][spalten]; //Deklaration eines
    // 2-dimensionalen Arrays
    int lfdNr = 1; // Variable deklariert und
    // gleichzeitig initialisiert
    for(int y=0;y<reihen;y++) //für jede Reihe des Arrays
    for(int x=0; x<spalten; x++) //und für jede Spalte in jeder Reihen (=jedes Feld)
    {
    pcRaum[x][y] = lfdNr; //feldinhalt=ifdNr
    lfdNr++; //ifdNr wird um eins erhöht
    }
    
    
    
    
    cout << pcRaum[1][0]; //gebe feld in spalte 1, reihe 0 aus.
    
    }
    
    Der Code legt also ein 2-dimensionales Array an und füllt dann die Felder aufsteigend mit Zahlen.

    Ich nehme mal an, das soll Ausgabe heißen.
    Du sollst das Programm also so umschreiben, dass nicht nur ein Feld, sondern alle Felder ausgegeben werden:
    Code:
    for(int y=0; y<reihen; y++)
    {
     for(int x=0; x<spalten; x++)
     {
     cout<<"Feld["<<x<<"]["<<y<<"]: "<<pcRaum[x][y]<<endl;
     }
    }
     
  4. #3 21. Februar 2009
    AW: Brauche Hilfe !!!

    ich glaube du hast in der for-schleife reihen und spalten vertauscht.
    weil du deklariertst mit [reihen][spalten] sagst in der for-schleife aber [x][y],
    wobei du sagst x < spalten und y < reihen.
     
  5. #4 21. Februar 2009
    AW: 2-dimensionales Array mit for-Schleifen

    Stimmt, es müsste wohl
    Code:
    int pcRaum[spalten][reihen]; 
    heißen.
     
  6. #5 21. Februar 2009
    AW: 2-dimensionales Array mit for-Schleifen

    hab da ma eine kleines beispiel geschrieben

    Code:
     int dim1 = 10, dim2 = 5;
     int Array[dim1][dim2];
     int wert = 0;
     for (int Zeilen = 0; Zeilen < dim1; Zeilen++)
     {
     for (int Spalten = 0; Spalten < dim2; Spalten++)
     {
     Array[Zeilen][Spalten] = wert;
     wert++;
     }
     }
     
     for (int Zeilen = 0; Zeilen < dim1; Zeilen++)
     {
     for (int Spalten = 0; Spalten < dim2; Spalten++)
     {
     cout<<Array[Zeilen][Spalten]<<" ";
    
     }
     cout<<"\n";
     }
     
    
    Die äußere For-Schleife ist immer für die Zeilen (1. Dimension) und die innere für die Spalten (2. Dim)
     
  7. #6 21. Februar 2009
    AW: 2-dimensionales Array mit for-Schleifen

    Code:
    #include<iostream>
    #define reihen 4
    #define spalten 6
    using namespace std;
    
    int main()
    {
    int pcRaum[reihen][spalten]; //Deklaration eines
    // 2-dimensionalen Arrays
    int lfdNr = 1; // Variable deklariert und
    // gleichzeitig initialisiert
    for(int y=0;y<reihen;y++) //für jede Reihe des Arrays
    for(int x=0; x<spalten; x++) //und für jede Spalte in jeder Reihen (=jedes Feld)
    {
    pcRaum[x][y] = lfdNr; //feldinhalt=ifdNr
    lfdNr++; //ifdNr wird um eins erhöht
    }
    
    
    
    for (int i=0; i<=reihen;i++){
     for(int j=0; j<=spalten;j++){
     cout << pcRaum[i][j] << " ";
     }
     cout << endl;
    }
    
    }
    
    edit:
    mein 888ster Beitrag, und das an Karneval, herrlich :)
     

  8. Videos zum Thema
Die Seite wird geladen...