Matrix!



  • int Vekt_A[3][5] = {{25, 34, 26, 12, 8},{19, 27, 24, 11 ,4},{6, 15, 35, 36 ,18}};
    int Spaltesumme[3] = {0};                // [3] -> drei Variablen sollen es ja sein...
    
    for(int i=0; i<=3 ; i++)                 // <=
    {
        for ( int j=0; j<=5; j++)            // <=
        {
            Spaltesumme[j] += Vekt_A[i][j];  // +=
        }
        cout << Spaltesumme[i] << endl; 
    }
    

    😉



  • sry für den Doppelpost - vergiss die "<="'s 🤡



  • int Vekt_A[3][5] = {{25, 34, 26, 12, 8},{19, 27, 24, 11 ,4},{6, 15, 35, 36 ,18}};
    int Spaltesumme[3] = {0};                // [3] -> drei Variablen sollen es ja sein...
    
    for(int i=0; i<=3 ; i++)
    {
        for ( int j=0; j<=5; j++)
        {
            Spaltesumme[i] += Vekt_A[i][j];   // du hast Spaltesumme[j] geschrieben (falscher Index)
        }
        cout << Spaltesumme[i] << endl; 
    }
    

    Was ist dir sonst noch unklar? Du hast ja nicht gerade eine präzise Beschreibung geliefert...
    Und bei int main(void) kannst du einfach int main() schreiben.

    In letzter Zeit scheint es hier viele Probleme mit einer Matrix zu geben 😉



  • Nexus schrieb:

    In letzter Zeit scheint es hier viele Probleme mit einer Matrix zu geben 😉

    Das kommt mir eben genau auch so vor. Irgendwie tätlich kommen sie mit Matrizen.. ^^



  • Vielen dank Hat mir wirklich sehr gut geholfen .

    hab das noch ein wenig umgeaendert :

    int main()
    {
    int Vekt_A[3][5] = {{25, 34, 26, 12, 8},{19, 27, 24, 11 ,4},{6, 15, 35, 36 ,18}}; 
    int Zeilensumme[3] = {0}; 
    
      for(int i=0; i<3 ; i++) 
    { 
        for ( int j=0; j<5; j++) // für <= anstatt < kamen falsche Ergebnisse raus....
        { 
          Zeilensumme[i] += Vekt_A[i][j];   
        } 
        cout << Zeilensumme[i] << endl; 
    } 
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    ja nun bleibt noch offen das ganze als funktion umzuschreiben ...also ich habs schon versucht und mh mit den rueckgabeparamentern komme ich irgendwie durcheinander jedenfalls klappt irgendwie nich so ;/ falls ihr da noch ein kleinen tip habt...Habs mir so aehnlich gedacht :

    .
    .
    int Zeilenfunktion ( int, int);
    
    int main()
    {
    int Vekt_A[3][5] = {{25, 34, 26, 12, 8},{19, 27, 24, 11 ,4},{6, 15, 35, 36 ,18}}; 
    int Zeilensumme[3] = {0};
    int x;
    
    x= Zeilenfunktion(Zeilensumme[i]);
    cout<<x;
    
    system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    int Zeilenfunktion ( int Zeilensumme[i], int Vekt_A[i][j])
    {
    for(int i=0; i<3 ; i++) 
    { 
        for ( int j=0; j<5; j++) 
        { 
           Zeilensumme[i] += Vekt_A[i][j];
    
        }
      }
    return;
    }
    

    hoffe dann ma das ihr mir hier vll. nochmal helfen koennt ...VielenDank



  • // in main() ...
    int x[3];
    // ...
    for( int i=0; i<3; i++ )
    {
    	x[i]= Zeilenfunktion(i, Vect_A);
    	cout << x[i] << endl;
    }
    // Funktion...
    int Zeilenfunktion ( int Zs, int Vekt_A[3][5])
    {
    	int Zeilensumme = 0;	// nur noch eine Variable notwendig
    
    	// erste for-Schleife hier nicht mehr notwendig, da es ja klar ist,
    	// welche Spalte ausgelesen wird( wert steht ja in Zs ).
    	for ( int j=0; j<5; j++)
    	{
    		Zeilensumme += Vekt_A[Zs][j];	// statt i Zs eingesetzt
    
    	}
    	return Zeilensumme;
    }
    

    So sollte es eigentlich gehen...

    Maximilian.T. schrieb:

    system("PAUSE");

    igitt 😃



  • vielen dank nochma fuer die Hilfe ...geht ja echt gut schnell hier!

    habs nun so eingefuegt....

    int Zeilenfunktion( int , int);
    
    int main()
    {
         int Vekt_A[3][5] = {{25, 34, 26, 12, 8},{19, 27, 24, 11 ,4},{6, 15, 35, 36 ,18}};          
         int x[3]; 
    
    for( int i=0; i<3; i++ ) 
    { 
        x[i]= Zeilenfunktion(i, Vekt_A); 
        cout << x[i] << endl; 
    } 
    
        //system("PAUSE");  sau jut ;)
        return EXIT_SUCCESS;
    }
    int Zeilenfunktion ( int Zs, int Vekt_A[3][5]) 
    { 
        int Zeilensumme = 0;    //  noch eine Variable notwendig 
    
        // erste for-Schleife hier nichnurt mehr notwendig, da es ja klar ist, 
        // welche Spalte ausgelesen wird( wert steht ja in Zs ). 
        for ( int j=0; j<5; j++) 
        { 
            Zeilensumme += Vekt_A[Zs][j];    // statt i Zs eingesetzt 
    
        } 
        return Zeilensumme; 
    }
    

    ja leider kommen noch fehler...

    11/ invalid conversion from `int (*)[5]' to `int'
    11/ initializing argument 2 of int Zeilenfunktion(int, int)' 20/ expected unqualified-id before '{' token 20/ expected,' or `;' before '{' token



  • Dann lies die Fehlermeldungen mal und überleg dir, was daran falsch sein könnte.



  • Maximilian.T. schrieb:

    int Zeilenfunktion( int , int);

    Die Funktionsdeklaration muss natürlich entsprechend geändert werden 😉



  • int  Zeilenfunktion(int , int[3][5] );
    

    ja sauba habs vielen Dank euch! Bin halt noch voellig noobig in der Materie ...endlich jehts 😉

    Hier zur Vollstädigkeit das gesamte Prog um die Summen der Zeilen und Spalten einer Matrix mit Hilfe von Funktionen auszugeben!

    #include <iostream>
    
    int  Zeilenfunktion   (int , int[3][5] );// Deklaration Funktionen
    int  Spaltenfunktion  (int , int [3][5]);// ----------"----------
    
    using namespace std;
    
    int main()
    {
         int Vekt_A[3][5] = {{25, 34, 26, 12, 8},{19, 27, 24, 11 ,4},{6, 15, 35, 36 ,18}}; // Deklaration Vektor und Initialisierung         
         int x[3]; // Deklaration Indexvariablen
         int y[5]; 
    
                                    cout<<"Summe der Zeilen lauten: ";// Ausgabe
                                    cout<<endl;
                                    cout<<endl;
    
    for( int i=0; i<3; i++ ) // 1. Schleife fuer die Zeilenausgabe 
    
         { 
              x[i]= Zeilenfunktion(i, Vekt_A); // Aufruf 1.Funktion
              cout << x[i] << endl; // Ausgabe 
         } 
    
                                    cout<<endl;   
                                    cout<<endl;
                                    cout<<"Summe der Spalten lauten:"<<endl;
                                    cout<<endl;
                                    cout<<endl;
    
    for( int j=0; j<5 ; j++) //2. Schleife für die Spaltenausgabe 
    
         {
              y[j] = Spaltenfunktion(j, Vekt_A); // Aufruf 2.Funktion
              cout<<y[j]<<"  "; 
         }   
    
        system("PAUSE"); 
        return EXIT_SUCCESS;
    }
    
    int Zeilenfunktion ( int Zs, int Vekt_A[3][5]) // 1.Funktion zur Berechnung der Zeilensummen
    { 
        int Zeilensumme = 0;    // Dekl.Init.Variabel
    
        for ( int j=0; j<5; j++)  // Schleife Berechnung Summe 
        { 
            Zeilensumme += Vekt_A[Zs][j]; // Wert von i steht in Zs
     return Zeilensumme; 
    }
    
    int Spaltenfunktion ( int Zs,int Vekt_A[3][5] ) //2.Funktion zur Berechnung der Spaltensummen
    {
        int Spaltensumme = 0;  // Dekl.Init.Variabel
    
        for ( int i=0 ; i<3; i++) // Schleife Berechnung Summe
        {
            Spaltensumme += Vekt_A[i][Zs];// Wert von j steht in ZS
        }
      return Spaltensumme;
    }
    

    thx nochma


Anmelden zum Antworten