1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. PeterMller

Beiträge von PeterMller

Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Übergebene Matrix auf Symmetrie prüfen

    • PeterMller
    • 20. April 2017 um 08:30

    Hallo,

    ich habe ein Problem. Ich soll eine Matrix (2D-Array) auf die Symmetrie-Eigenschaft und null-Parameter überprüfen. Symmetrisch ist die Matrix,wenn sie Quadratisch ist und mit ihrer Transponierten Matrix übereinstimmt. Das Programm wird mithilfe eines Überprüfungstools bewertet und dementsprechend keine Fehler angezeigt. Durch das Tool bekomme ich eine vorgegebene Matrix übergeben. Diese lautet {1,2,3},{4,2},{5}. Wenn ich diese transponieren will, müsste ich die restlichen Felder im Array eigentlich mit 0 auffüllen, leider weiß ich nicht wie ich das machen soll.

    Mein Ansatz

    Code
    public static boolean isSymmetric(int[][] m)
        {
            int laenge = 0;
            boolean sym = false;
    
            if(m == null)
            {
                sym = false;
            }
            else
            {
                int[][] trans = new int[m[0].length][m.length];
                for(int l = 0; l < m.length; l++)      //Das längste Element des Arrays auslesen
                {
                    if(laenge < m[l].length)
                    {
                        laenge = m[l].length;
                    }
                }
                for(int i = 0; i < m.length; i++)
                {
                    if(m[i] == null)
                    {
                        sym = false;
                    }
                    else
                    {
                        if(m.length == m[i].length)
                        {
    
                            for(int k = 0; k < m[0].length; k++)
                            {
                                for(int j = 0; j < m.length; j++)
                                {
                                    trans[k][j] = m[j][k];
    
                                        if(trans[k][j] == m[j][k])
                                        {
                                        sym = true;
                                        }
                                        else
                                        {
                                            sym = false;
                                        }
                                }
                            }
                        }
                        else
                        {
                            sym = false;
                        }
                    }
                }
            }
            return sym;
        }
    Alles anzeigen

  1. Datenschutzerklärung
  2. Impressum