Matrix - Probelm

maXXX12345

Aktives Mitglied
Hallo!

Ich möchte eine nxn Matrix erstellen lassen, welche an der Diagonale so gespiegelt werden soll, dass das Element der 0-ten Spalten und 0-ten Zeile dem der n-ten Spalte und n-ten Zeile entspricht usw. (siehe Bsp. unten)!

Habe sazu folgenden Code nur funktioniert der nicht wirklich! (= es entsteht unten ein dreieck an 0-en)
------------------------------------------------------------------------------
javacode:

int[][] matrix_erstellen(int n, int zufallszahlenbereich){

int [][] matrix = new int[n][n];

for(int i = 0; i < n; i++){

for(int e = 0; e < n-i; e++){
matrix[e] = (int)(Math.random()*zufallszahlenbereich)+1;

matrix[n-1-i][n-1-e]=matrix[e];
}

}

return matrix;

}

------------------------------------------------------------------------------------

Bsp. Matrix:

55 69 53
89 45 69
12 89 55

Danke im Vorraus für jede Hilfe!

MfG
 

HimBromBeere

Top Contributor
Möchtest du denn die rechte untere Hälfte nach oben links klappen oder die linke obere nach unten rechts? Das macht nämlich ´nen Unterschied. Welche der ursprünglichen Werte werden überschrieben und welche werden behalten?

EDIT: Gutes Gedächtnis, Slater...:toll:
 

maXXX12345

Aktives Mitglied
Danke für den Hinweis!

Möchte die linke obere Hälfte nach unten rechts klappen!

es wird die linke obere hälfte mit zahlen belegt und in der rechten unteren sollen genau die selben hinkommen, also praktischen nur die "0"-en überschrieben werden!
 
S

SlaterB

Gast
mein (edit: vorheriges) Posting enthält Wege zur Lösung, wobei noch mehr zu ändern sein könnte, je nachdem wie es letzlich zu spiegeln gewünscht ist,

nur vor einer Zeile wie
> matrix[n-1-i][n-1-e]=matrix[e];
staunend zu sitzen bringt die Welt nicht voran,

male auf Papier ein Beispiel, wenigstens 4x4 groß, besser noch größer um alle möglichen Recheneinflüsse wie -1 usw. einzubeziehen,
überlege Schritt für Schritt was zu tun ist, welches Feld wird als erstes gefüllt, sicher oben links 0/0,
soll dann auch schon kopiert werden, wohin? welche Indexe, prüfe gleichzeitig im Programm was du dort an Indexen ausrechnest
(System.out.println ! ), gib die Matrix nach diesem ersten Schritt komplett aus, hat alles funktioniert?

danach der zweite Schritt, schon interessanter weil sicherlich nicht mehr direkt auf der Diagonalen,
welche Indexe sind richtig, was macht das Programm, wie wären die Indexe besser zu berechnen
usw.,
einfach nur dran arbeiten
 
Zuletzt bearbeitet von einem Moderator:

HimBromBeere

Top Contributor
Java:
matrix[n - 1 - i][n - 1 - e] = matrix[e][i];
Das müsste glaube ich so lauten:
Java:
matrix[n - 1 - e][n - 1 - i] = matrix[e][i];

EDIT: So richtig geht das aber auch noch nicht... du musst da noch irgendie die Nebendiagonale wegfriemeln... weiß aber grade nicht auf Anhieb, wie du das hinbekommst.
 
Zuletzt bearbeitet:

maXXX12345

Aktives Mitglied
Vielen Dank für eure Hinweise!

Habe folgende Lösung (auf die schnelle) für das Problem gefunden, auch wenns wahrscheinlich nicht eleganteste ist:

Java:
    int[][] matrix_erstellen(int n, int zufallszahlenbereich){

        //Es wird eine Matrix erstellt und an einer Diagonale gespiegelt;

        int [][] matrix = new int[n][n];
        int [][] hilfsmatrix = new int[n][n];

        for(int i= 0;i< n; i++){

            for(int e = 0; e < n-i; e++){
                matrix[i][e] = (int)(Math.random()*zufallszahlenbereich)+1;
            }

        }

        for(int i = 0; i < n; i++){

            for(int e = 0; e < n; e++){

                hilfsmatrix[i][e] = matrix[i][e];

            }

        }

        for (int i= 0 ; i< n ; i++ ){ 
            for (int e = 0 ; e < n-1-i ; e++ ) 
            {
                int hilf = matrix[i][e] ; 
                matrix[i][e] = 
                matrix[n-1-e][n-1-i] ; 
                matrix[n-1-e][n-1-i] = hilf ; 
            }
        }

        for(int i= 0;i< n; i++){

            for(int e = 0; e < n-i; e++){
                matrix[i][e] = hilfsmatrix[i][e];
            }

        }

        return matrix;

    }

Mit freundlichen Grüßen
 
S

SlaterB

Gast
das kann man wirklich so sagen, dass das nicht ideal ist..

falls du das irgendwo abgeben willst, so dass jemand anders deine Leistung beurteilt -> ach du Schade,
wenn dir irgendwas an dieser Meinung gelegen ist, könntest du sie von katastrophal auf normal ändern

falls du das für dich selber programmiert hast -> bis du wirklich nicht interessiert, 20 Zeilen verrückten Code vielleicht durch eine saubere Zeile zu ersetzen?


falls Interesse besteht, kann hier ja weiter gemacht werden bz. vielleicht reicht schon die Zeile von HimBromBeere
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I matrix aufgabe Java Basics - Anfänger-Themen 22
L Zweidimensionaler Array; n x m - Matrix überprüfuen Java Basics - Anfänger-Themen 35
C Matrix mit Array ausgeben Java Basics - Anfänger-Themen 6
idontknow707 Matrix nach z.B. Variable durchsuchen Java Basics - Anfänger-Themen 4
F Adjunkte Matrix erstellen Java Basics - Anfänger-Themen 3
M Matrix Java Basics - Anfänger-Themen 3
F Matrix Multiplikation Java Basics - Anfänger-Themen 3
B Dünn besetzte Matrix Java Basics - Anfänger-Themen 7
Al3xand3r01 Matrix, Nachbarelemente Java Basics - Anfänger-Themen 16
E Rückwärtsmultiplikation einer invertierten matrix Java Basics - Anfänger-Themen 2
U Dreiecks-Matrix mit Array Java Basics - Anfänger-Themen 3
Z Matrix Klasse mit Mehrdimensionalen Array (Addition, Multiplikation, to String) Java Basics - Anfänger-Themen 57
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
M Matrix auf 4 Elemente untersuchen mit offenen Enden Java Basics - Anfänger-Themen 8
B Diskrete Faltung (Matrix) Randfälle Java Basics - Anfänger-Themen 8
M Matrix Elemente vergleichen Java Basics - Anfänger-Themen 11
N Quadratische Matrix inkl Summe Java Basics - Anfänger-Themen 8
J Methoden Moving a n integer matrix Java Basics - Anfänger-Themen 3
D Methoden Matrix Multiplikation Java Basics - Anfänger-Themen 27
O Matrix, Vektor Java Basics - Anfänger-Themen 9
H 2D Array, Symmetrische Matrix Java Basics - Anfänger-Themen 12
S Matrix spaltenweise befüllen Java Basics - Anfänger-Themen 1
T Zufällige Matrix in neue Matrix schreiben Java Basics - Anfänger-Themen 6
C Matrix-Werte werden nicht wie erwartet ausgegeben Java Basics - Anfänger-Themen 7
C Matrix erstellen Spaltensumme, Zeilensumme, Diagonale Java Basics - Anfänger-Themen 1
S Methoden Transponierte Matrix Java Basics - Anfänger-Themen 3
N Vererbung Submatrix mit Verweis auf Matrix erstellen Java Basics - Anfänger-Themen 9
J Matrix erstellen Java Java Basics - Anfänger-Themen 7
B Transponiertes Matrix Java Basics - Anfänger-Themen 12
J Überprüfen, ob eine 2D Matrix ein Baum ist Java Basics - Anfänger-Themen 5
C Matrix transponieren - Hilfe Java Basics - Anfänger-Themen 1
D Ausgabe einer Matrix mit System.out.println Java Basics - Anfänger-Themen 6
T Art 4 Felder Matrix Memory Java Basics - Anfänger-Themen 2
U Ist diese Methode zur Matrix Vektor Multiplikation korrekt ? Java Basics - Anfänger-Themen 5
L Matrix(Array) minimieren... Java Basics - Anfänger-Themen 9
E Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 7
S eingegebene Matrix anzeigen Java Basics - Anfänger-Themen 4
J Matrix für Schachbrett Java Basics - Anfänger-Themen 6
G tga Datei lesen und in eine matrix umwandeln Java Basics - Anfänger-Themen 1
G Bilddaten in Matrix umwandeln Java Basics - Anfänger-Themen 1
T Eine String Matrix erstellen die eine boolean Funtion verwendet Java Basics - Anfänger-Themen 10
O Matrix Multiplizieren Java Basics - Anfänger-Themen 4
S LWJGL - Matrix vom Matrixstack laden Java Basics - Anfänger-Themen 3
T Matrix auf Symmetrie überprüfen Java Basics - Anfänger-Themen 6
V Matrix Transponieren Java Basics - Anfänger-Themen 3
V Methoden Matrix als 1D Array mit Werten füllen Java Basics - Anfänger-Themen 12
W Zweidimensionale Arrays als Matrix ausgeben Java Basics - Anfänger-Themen 8
R Matrix-Vektor-Multiplikation Java Basics - Anfänger-Themen 13
O Matrix ordnen Java Basics - Anfänger-Themen 4
M Symmetrische Matrix Java Basics - Anfänger-Themen 2
W Methoden Rang von einer Matrix mit Gauss Java Basics - Anfänger-Themen 0
U Matrix Subtrahieren Java Basics - Anfänger-Themen 12
E Input/Output convert string to two dimensional char and output = matrix Java Basics - Anfänger-Themen 2
A daten vom 1d array in 2d matrix speichern Java Basics - Anfänger-Themen 3
I Matrix überprüfen Java Basics - Anfänger-Themen 8
Z Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 13
K Methoden Einlesen einer unbegrenzten Matrix über Konsole Java Basics - Anfänger-Themen 6
O Einlesen einer Matrix von der Console Java Basics - Anfänger-Themen 18
N Matrix/Vektoren Java Basics - Anfänger-Themen 3
N Matrix Java Basics - Anfänger-Themen 14
T Methode, die eine 2 dimensionale Matrix kopiert. Java Basics - Anfänger-Themen 16
J Matrix Java Java Basics - Anfänger-Themen 3
D 2 mehrdimensionale Matrix einlesen Java Basics - Anfänger-Themen 2
A N*N Matrix Determinante berechnen Java Basics - Anfänger-Themen 47
K Quadratische Matrix um 90° drehen Java Basics - Anfänger-Themen 5
C Programm zur Berechnung der Spur einer Matrix Java Basics - Anfänger-Themen 4
B Zeilenumbruch (zweidim. Matrix) Java Basics - Anfänger-Themen 2
O Java Matrix mal Matrix über while Schleife... Java Basics - Anfänger-Themen 10
O Transponieren einer Matrix per While-Schleife Java Basics - Anfänger-Themen 3
O 2D Matrix befüllen mit geraden Zahlen!? Java Basics - Anfänger-Themen 14
J Java Matrix befüllen Java Basics - Anfänger-Themen 5
M Matrix Matrix Multiplikation Java Basics - Anfänger-Themen 6
F Matrix Java Basics - Anfänger-Themen 11
E Array als Matrix Java Basics - Anfänger-Themen 21
G OOP Parameter Matrix Java Basics - Anfänger-Themen 2
N Matrix Klasse Java Basics - Anfänger-Themen 4
B Maske an eine Matrix anpassen Java Basics - Anfänger-Themen 5
W Matrix übergeben Java Basics - Anfänger-Themen 7
T Matrix transponieren Java Basics - Anfänger-Themen 17
W Eine Methode schreiben, ob eine Matrix eine Diagonalmatrix ist.? Java Basics - Anfänger-Themen 3
M String Datei in Float-Matrix umwandeln Java Basics - Anfänger-Themen 8
D Problem: Werte eine Matrix vergleichen! Java Basics - Anfänger-Themen 5
B Matrix Java Basics - Anfänger-Themen 2
Semox Matrix multiplizieren Java Basics - Anfänger-Themen 4
N Matrix an toString Java Basics - Anfänger-Themen 7
C Diagonale in einem NxN Matrix Java Basics - Anfänger-Themen 6
F Einträgen von Matrix zu sotieren Java Basics - Anfänger-Themen 2
D JUnit auf Matrix anwenden Java Basics - Anfänger-Themen 5
J Spezielle Matrix ausgeben ! Java Basics - Anfänger-Themen 8
S Problem bei Matrix Addition Java Basics - Anfänger-Themen 5
F matrix werte übergeben Java Basics - Anfänger-Themen 5
M Hauptdiagonale Matrix berechnen Java Basics - Anfänger-Themen 6
M Klassenerstellung für Matrix mit Rechenopperationen Java Basics - Anfänger-Themen 42
D Matrix .bat datei erstellen und öffnen Java Basics - Anfänger-Themen 2
J Matrix ausgeben Java Basics - Anfänger-Themen 9
N Matrix Matrix Produkt Java Basics - Anfänger-Themen 7
N prüfe ob etwas in einer Matrix steht... Java Basics - Anfänger-Themen 14
L rechtecke zeichnen anhand von matrix Java Basics - Anfänger-Themen 27
J Matrix aus Datei einlesen mit StreamTokenizer Java Basics - Anfänger-Themen 3
K Transponiere Matrix Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben