Berechnung Summe von Zeilen und Spalten in einem 2d Array



  • Also die Ausgabe habe ich mir so vorgestellt:

    1   7   4   0   9   4   8   8   2   4 : 47
      5   5   1   7   1   1   5   2   7   6 : 40
      1   4   2   3   2   2   1   6   8   5 : 34
      7   6   1   8   9   2   7   9   5   4 : 58
      3   1   2   3   3   4   1   1   3   8 : 29
      7   4   2   7   7   9   3   1   9   8 : 57
      6   5   0   2   8   6   0   2   4   8 : 41
      6   5   0   9   0   0   6   1   3   8 : 38
      9   3   4   4   6   0   6   6   1   8 : 47
      4   9   6   3   7   8   8   2   9   1 : 57
    ----------------------------------------
     49  49  22  46  52  36  45  38  51  60
    

    Die Werte schreibe ich so rein,und die ausgabe funktioniert auch:

    #pragma argsused
    int main(int argc, char* argv[])
    {
    const int reihe=10;
    const int zeile=10;
    int table[reihe][zeile];
    
    for (int i =0;i<zeile;i++)  
    {
       table[i][0]=random(10);     //eingabe
       for (int j =0;j<reihe;j++)
       {
        table[i][j]=random(10);
       }
    }
    for (int i=0;i<zeile;i++)
    {
     for (int j=0;j<reihe;j++)
      {
      cout<<table[i][j]<<" ";    //ausgabe
      }
    }
    getch();
            return 0;
    }
    

    nun meine frage, wie kan ich für jede zeile und für jede spalte einzeln die summe ausrechnen, und diese ans ende der jeweiligen zeile bzw spalte anfügen?

    Danke schonmal



  • fuer die Zeilen waer's wie folgt:

    int main(int argc, char* argv[])
    {
    const int reihe=10;
    const int zeile=10;
    int table[reihe][zeile];
    
    for (int i =0;i<zeile;i++)  
    {
       table[i][0]=random(10);     //eingabe
       for (int j =0;j<reihe;j++)
       {
        table[i][j]=random(10);
       }
    }
    
    int colsum[zeile];
    for (int i=0;i<zeile;i++)
    {
     int rowsum = 0;
     for (int j=0;j<reihe;j++)
      {
      cout<<table[i][j]<<" ";    //ausgabe
      rowsum += table[i][j];  // Zeile aufsummieren
      colsum[i] += table[i][j] // Spalte aufsummieren
      }
     cout << rowsum << '\n';  ausgabe der Zeilensumme nach jeder Zeile
    }
    
    for (int i=0;i<zeile;i++)
    {
     cout << colsum[i] << ' ';  ausgabe der Spaltennsumme in einer eigenen Zeile
    }
    
    getch();
            return 0;
    }
    

    im Uebrigen sind "Zeile" und "Reihe" suboptimale Bezeichner, weil sie beide nach etwas waagrechtem klingen 😉



  • Nur noch eine anmerkung.

    Blue-Tiger: du benutzt dein spaltenarray uninitialisiert und summierst dann auf.
    Das führt nicht immer zum gewünschten ergebnis.

    memset(colsum,0,sizeof(colsum));
    

Anmelden zum Antworten