Zum neuen Informatik-Forum >>
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Matrix programmiern

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Java/JSP
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
chil14r



Anmeldungsdatum: 10.12.2005
Beiträge: 3

BeitragVerfasst am: 10. Dez 2005 13:25    Titel: Matrix programmiern Antworten mit Zitat

Hallo! Ich habe folgendes Problem : Ich will eine nxn Matrix A in eine (n-1)x(n-1) matrix B umschreiben. Dies passiert durch einen externen Schritt indem ich gezielt 2 Zeilen bzw Spalten zusammenfasse ( an der Stelle [i][j] stand der kleinste Eintrag von A) . Das problem liegt darin das ich die anderen Werte aus meiner Matrix A übernehmen will, natürlich ohne die beiden Zeilen/ Spalten, von denen ich die Indice kenne. Ich speichere also meine neue Zeile an stelle [i][0] und [0][j] ab . Die Matrizen sind beide symmetrisch. Doch wie kann ich nun die restlichen werte unbeschadet aus A in B umschreiben ? Mit einer for schleife habe ich das problem dass die eine Matrix größer ist als die andere. Gibt es eine andere Möglichkeit die Werte aus A abzuspeichern oder zu übertragen?

Danke für alle Ideen und Hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Tobias



Anmeldungsdatum: 15.02.2005
Beiträge: 149

BeitragVerfasst am: 10. Dez 2005 14:56    Titel: Antworten mit Zitat

Sorry, aber so kann ich das nicht verstehen.

Die Anmerkung "( an der Stelle [i][j] stand der kleinste Eintrag von A)" kann ich garnicht zuordnen.

Du hast in der nxn - Matrix A zwei Zeilen i und j, die du zusammenfasst zu einer Zeile und sie in einer neuen Matrix B als Zeile 0 abspeicherst? (Analog jeweils mit Spalten, weil die Matizen ja symmatrisch sind). Und nun willst du die Zeilen von A ohne i und j in die Matrix B ab Poition 1 reinschreiben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Gast






BeitragVerfasst am: 10. Dez 2005 16:22    Titel: Antworten mit Zitat

Also das mit kleinstem Eintrag kannste auch einfach überlesen ... es geht genau darum die alten Werten aus der Matrix rauszuholen und gleich in der neuen Matrix zu speichern .. dabei alle Werte von Zeile i und j auszulassen , weil die in einem ersten schritt in zeile / spalte 0 schon zusammengefasst in B gespeichert wurden.
Nach oben
chil14r



Anmeldungsdatum: 10.12.2005
Beiträge: 3

BeitragVerfasst am: 10. Dez 2005 16:25    Titel: Antworten mit Zitat

Genau ! Das mit kleinsten Wert bitte streichen ....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Tobias



Anmeldungsdatum: 15.02.2005
Beiträge: 149

BeitragVerfasst am: 10. Dez 2005 21:01    Titel: Antworten mit Zitat

Dann mach doch einfach ne doppelt verschachtelte Schleife, die die Indizes i und j auslässt.

In etwa so (nicht getestet):

Code:

 int rowIdx = -1; // Zeilenindex der Matrix A

 for (int k=1; k<n-1; k++) {

    do {rowIdx++} while(rowIdx == i || rowIdx == j); // i und j auslassen

    int colIdx = -1; // Spaltenindex der Matrix A

    for (int l=1; l<n-1; l++) {

       do {colIdx++} while(colIdx == i || colIdx == j); // i und j auslassen

       B[k][l] = A[rowIdx][colIdx];
    }

 }
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
chil14r



Anmeldungsdatum: 10.12.2005
Beiträge: 3

BeitragVerfasst am: 10. Dez 2005 22:18    Titel: Antworten mit Zitat

Ok ich muss das erstmal durchdenken .... aber du hast die unterschiedliche Größe der Matrizen beachtet ?

Besten Dank auf jeden fall..... eine sehr optimale Lösung .. hatte eben eine Idee die i und j Spalte ( und Zeile ) auf nem Array zu speichern und dann ganz nach hinten zu verschieben... damit ich A nicht mehr ganz durchlaufen muss...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Java/JSP Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen