Zeile und Spalte tauschen



  • Hallo Leute,

    ich hab folgenden Quelltext der die 2. Zeile mit der 2. Spalte tauschen soll.
    Es funktioniert aber nicht wirklich. Ich bekomme es einfach nicht gebacken.
    Für Hilfe wäre ich sehr, sehr dankbar.
    Vielen Dank im Voraus.

    #include <iostream>
    #include <time.h>
    #include <limits.h>
    #include <iomanip>
    using namespace std;

    int main(int argc, char* argv[])
    {
    int a[5][5] = {2,3,4,1,0, 6,1,7,3,9 ,2,4,4,3,1 ,6,3,7,9,0 ,4,5,1,2,3}; // Testmatrix

    int zeilensum[5];
    unsigned i, j, n;
    int maxSum = INT_MIN;
    unsigned maxZeile;
    int h;

    // Ausgabe der Matrix

    for( i =0; i< 5; i++){
    for (j=0; j< 5; j++){
    cout<< setw(2);
    cout<< a[i][j]<<" ";
    } // for j
    cout<<endl;
    // for i
    }

    int sum;
    int high=0;

    for(i=0; i<5; i++){
    sum=0;

    for(j=0; j<5; j++){

    sum+=a[i][j];

    }
    if(sum>high){

    high=sum;
    maxZeile=i;

    }
    }

    cout<<"Die Zeile 2 hat die Summe= "<<high<<" und ist somit die Zeile mit der hoechsten Summe!"<<endl;
    // Zeilensummen werden berechnet und max. Zeilensumme k bestimmt - hier C-Code ergänzen

    int b[5][5];

    for( i =0; i< 5; i++){

    for (j=0; j< 5; j++){

    if(j && i != maxZeile){

    b[i][j]=a[i][j];
    }
    else
    {
    b[i][j]=a[j][i]; //hier passt es nocht nicht 😕

    }

    }

    }

    // Tauschen der Zeile k mit der Spalte k - hier C-Code ergänzen

    for( i =0; i< 5; i++){
    for (j=0; j< 5; j++){
    cout<< setw(2);
    cout<< b[i][j]<<" ";
    } // for j
    cout<<endl;
    // for i
    }

    // Ausgabe der modifizierten Matrix - hier C-Code ergänzen

    system("pause");
    return 0;
    } // main



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • 1. cpp-tags + code formatieren (also einrücken und so ^^)
    2. wären wir alle über ene fehlerbeschreibung sehr erfreut - "geht nicht" ist ein wenig zu allgemein...

    deinen fehler hab ich trotzdem gefunden:

    for( i =0; i< 5; i++)
    { 
      for (j=0; j< 5; j++)
      { 
        if(j && i != maxZeile)
        { 
          b[i][j]=a[i][j]; 
        } 
        else 
        { 
          b[i][j]=a[j][i]; //hier passt es nocht nicht  
        } 
      } 
    }
    

    ist ein wenig sehr konfus, weil du hier sehr viele fehler auf einmal machst - und man so gar nicht mehr genau erkennen kann, was du überhaupt möchtest...

    bb

    PS: Dein Code ist auch kein wirklich schönes C++ - viele C Fragmente (Header, INT_MAX, ...) und von den Algorithmen eben auch nicht gerade sehr elegant...


Anmelden zum Antworten