Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » zeilen/spalten summen berechnen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.07.2007, 12:02 Uhr
f0re



hallo
Ich habe in einem 2-dimensionalen Feld Werte und muss die Zeilen und Spaltensummen berechnen.
Mein Programm:

C++:
#include <stdio.h>
#define ZEILEN 4
#define SPALTEN 6

int main()
{
    int matrix[ZEILEN][SPALTEN]={ { 25, 34, 26, 12, 8 }, { 19, 27, 24, 11, 4 }, {  6, 15, 35, 36, 18 } };
        
    //Summen der Zeilen berechnen und ausgeben
    
        for(int i=0; i<ZEILEN-1; i++)
        {
            for(int k=0; k<SPALTEN; k++)
                matrix[i][3]+=matrix[i][k];
            printf("Summe der %d. Zeile\t%d\n", i+1, matrix[i][3]);
        }

    //Summen der Spalten berechnen und ausgeben

        for(i=0; i<SPALTEN; i++)
        {
            for(int k=0; k<ZEILEN; k++)
                matrix[5][i]+=matrix[k][i];
            printf("Summe der %d. Spalte\t%d\n", i+1, matrix[5][i]);
        }

    
}

Meine Ausgabe:

Summe der 1. Zeile 202
Summe der 2. Zeile 166
Summe der 3. Zeile 202
Summe der 1. Spalte 1243118
Summe der 2. Spalte 2147348556
Summe der 3. Spalte 86
Summe der 4. Spalte 576
Summe der 5. Spalte 1245106
Summe der 6. Spalte -1356354296

Kann ja wohl nich stimmen
kann mir wer helfen und sagen, was ich falsch programmiert habe?
--
" Diese Datei kann nicht gelöscht werden. Eine Datei mit dem angegebenen Namen ist bereits vorhanden. Geben sie einen anderen Dateinamen ein " --> w|nd0ws stYle 0utch >.<
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.07.2007, 13:18 Uhr
Suba Esel




Zitat von f0re:

#define ZEILEN 4
#define SPALTEN 6
//....
int matrix[ZEILEN][SPALTEN]={ { 25, 34, 26, 12, 8 }, { 19, 27, 24, 11, 4 }, { 6, 15, 35, 36, 18 } };



Du erstellst eine 4 x 6 Matrix, initialisierst aber nur 3 x 5.
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.07.2007, 13:40 Uhr
DataJockey



die Initialisierung erfolgt automatisch. ist aber schon sauberer es selbst zu machen.

so funktionierts:


C++:
    int i, k;
    for (i=0; i < ZEILEN -1; i++)
    {
        for (k=0; k < SPALTEN -1; k++)
            matrix[i][SPALTEN -1] += matrix[i][k];
        printf("Summe der %d. Zeile\t%d\n", i+1, matrix[i][SPALTEN -1]);
    }

    for (k=0; k < SPALTEN ; k++)
    {
        for (i=0; i < ZEILEN -1; i++)
            matrix[ZEILEN -1][k]  += matrix[i][k];
        printf("Summe der %d. Spalte\t%d\n", k+1, matrix[ZEILEN -1][k]);
    }


--
There are 10 kinds of people.
Those who understand binary code and those who don't.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.07.2007, 17:55 Uhr
f0re



@suba esel
ja, weil ich eben in die 4te zeile und in die 6te spalte die ergebnisse reinschreibe

@DataJockey
danke für die hilfe! bei der 2ten schleife hast du das -1 übersehen :P
--
" Diese Datei kann nicht gelöscht werden. Eine Datei mit dem angegebenen Namen ist bereits vorhanden. Geben sie einen anderen Dateinamen ein " --> w|nd0ws stYle 0utch >.<

Dieser Post wurde am 25.07.2007 um 18:04 Uhr von f0re editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.07.2007, 20:23 Uhr
DataJockey



das ist Absicht. sonst wird die Position [ZEILEN -1][SPALTEN -1] nicht gefuellt. da steht die Summe aller Eintraege drin. quasi die Mastersumme.

probiers einfach mal mit ner debug Ausgabe aus:


C++:
    for (i=0; i < ZEILEN; i++)
    {
        for (k=0; k < SPALTEN; k++)
        {
            std::cout << matrix[i][k] << " ";
        }
        std::cout << "\n";
    }


--
There are 10 kinds of people.
Those who understand binary code and those who don't.

Dieser Post wurde am 25.07.2007 um 20:23 Uhr von DataJockey editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: