Matrix, Vektor

O2016

Bekanntes Mitglied
Vermutlich eine einfache Frage. Aber ich benötige einmal das Verständnis und komm einfach nicht dahinter.

Ich habe bsp ein Array long[][] a = new a[3][3];

Das Array soll so aussehen: (Die Zahlen seien mal beliebig)
1 2 3
2 2 4
3 3 5

Zusätzlich habe ich ein zweites eindimensionales Array(nennen wir ihn Vektor)
1 4 5

Jetzt will ich ein neues Array machen damit folgende Zahlen dastehen:
1 2 3 1
2 2 4 4
3 3 5 5

Das heisst ich will die Angaben des ersten Arrays mit dem zweiten Verknüpfen. Aber ich komm einfach nicht dahinter. Habe es mit Schleifen versucht usw...

Mein Ansatz:
long matr[][] = new long[a.length+1][a[0].length]; //<---a[0].lengthMach ich das eig so richtig

for(int j=0;j<a[0].length;j++)
{
for(int i=0;i<a.length;i++)
{
matr[j]= a[j];
// Irgendwie muss hier ja auch noch der zweite Vektor rein. nur wie? Ideen?
}

}
Vielen Dank!
 

Robat

Top Contributor
Code das nächste mal bitte in [code=Java]Your Code[/code].

Der Algorithmus mal in Worten erklärt .. angenommen es gibt eine Matrix [n x m] und einen Vektor der Dimension [n]
Code:
- neue Matrix erstellen mit der Dimension [n, (m+1) ]
- für jede Reihe i der alten Matrix
    - für jede Spalte j der alten Matrix
        - kopiere Wert an Stelle [ i, j ] aus alter Matrix in neue Matrix
    - kopiere Wert aus dem Vektor an Stelle [ i ] in die Matrix an Stelle [ i, länge neue matrix - 1 ]
 

O2016

Bekanntes Mitglied
Du bist ein Brain! Danke! So langsam baut sich was in meinem Kopf auf :D ich verstehe es. Ich habe davor immer für mich im Kopf 0 und 1 für die Position eingesetzt. Aber wenn man sich den Code wirklich mal logisch vorstellt.

1A erklärt!
 

O2016

Bekanntes Mitglied
Vielen Dank für die Hilfe. Aber an einem weiteren Problem hänge ich nun:
Ich hab nun die neue große Matrix und möchte die größte Reihe ganz nach oben schieben also:
(die größte Reihe ist die mit der ersten größten Zahl (hier am Anfang mit der 1, die 2 oder die 3)

1 2 3 4
2 4 2 4
3 3 5 5

soll zu
3 3 5 5
2 4 2 4
1 2 3 4

Ich habe bereits ein tempArray angelegt welches die größte Reihe dort drinnen speichert. Aber ich weiß nicht wie ich die nun wechseln soll.
Da der Compiler ja nicht weiß in welche Reihe er das Array danach wieder schieben soll? Also war Reihe 2 oder Reihe 3 die Größte? Wie mache ich das?
Ich benötige vermutlich eine Hilfsvariable. Könntest du mir nochmal so einen schönen Ausschnitt zusenden wie davor :)

Vielen Dank
 

Tarrew

Top Contributor
Ich probiers mal ;)

Code:
- Hilfsvariable "maxIndex" für Zeilenindex mit maximaler Zahl erstellen (initial = 0)

- für jede Zeile i der Matrix (ausgenommen Index 0)
    - Falls erstes Element der i-ten Zeile > erstes Element der maxIndex-Zeile
        - maxIndex = i;

- Falls maxIndex != 0
    - erste Zeile der Matrix in temporärem Array speichern
    - maxIndex-Zeile an erste Stelle verschieben
    - temporäres Array an Zeile maxIndex verschieben
 

mihe7

Top Contributor
@O2016 das nicht, aber es ist eine Alternative. Wenn ich
Java:
long[] tmp = new long[m];
System.arraycopy(matr[maxIndex], 0, tmp, 0, m);
matr[maxIndex] = matr[0];
matr[0] = tmp;
mit
Java:
long[] tmp = new long[m];
System.arraycopy(matr[matrIndex], 0, tmp, 0, m);
System.arraycopy(matr[0], 0, matr[matrIndex], 0, m);
System.arraycopy(tmp, 0, matr[0], 0, m);
und
Java:
for (int i = 0; i < m; i++) {
    long tmp = matr[maxIndex][i];
    matr[maxIndex][i] = matr[0][i];
    matr[0][i] = tmp;
}
vergleiche, empfinde ich die letzte Variante wesentlich angenehmer zu lesen (und GC-freundlicher ist sie auch :p), auch wenn sie die langsamste sein könnte.
 

Tarrew

Top Contributor
Wobei ich jetzt auch am ehesten die 4. Variante im Kopf hatte ;D

Java:
long[] tmp = matr[maxIndex];
matr[maxIndex] = matr[0];
matr[0] = tmp;
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Ist diese Methode zur Matrix Vektor Multiplikation korrekt ? Java Basics - Anfänger-Themen 5
E Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 7
R Matrix-Vektor-Multiplikation Java Basics - Anfänger-Themen 13
Z Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 13
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
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
L Matrix(Array) minimieren... Java Basics - Anfänger-Themen 9
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
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
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
M Matrix - Probelm Java Basics - Anfänger-Themen 7
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