www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "C/C++" - Fehler in Quellcode
Fehler in Quellcode < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Fehler in Quellcode: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 14:24 Mo 23.03.2009
Autor: uecki

Aufgabe
void qMatrizen::invert()
{
  /*qMatrizen B; // Matrix fuer die rechte Seite
  int x,y,i,j,pivotzeile;
  double hilfe1,hilfe2,maximum;


  [mm] B.set_m(m); [/mm] //ANZAHL DER ZEILEN UND SPALTEN UEBERNEHMEN)
  [mm] B.set_n(n); [/mm]
  
  //EINHEITSMATRIX ERZEUGEN
  for (x=1;x<=m;x++)
  {
for(y=1;y<=n;y++)
{
if(y==x) B.setValue(x,y,1.0);
else B.setValue(x,y,0.0);

}
  }
  
// B-->ist Einheitsmatrix mit der gleichen Dimension

//************GAUSS-JORDAN ALGORITHMUS


  for(x=1;x<m;x++) //Zaehle die Spalten...
{
maximum=fabs(getValue(x,x)); //Maximumelement ist (nunaechst) aktuelles Element
pivotzeile=x;    //Pivotzeile ist (zunachst) aktuelle Zeile

for(y=x;y<=n;y++)  //Suche in jeder Zeile nach groesserem Element
{
if(maximum<fabs(getValue(y,x))) //Groesseres Element gefunden ?
{
maximum=fabs(getValue(y,x)); //...Element speichern
pivotzeile=y; //...Zeile des Elementsspeichern
}

if (pivotzeile != x) //falls erforderlich: Zeilentausch vornehmen
{
for(i=1;i<=n;i++)
{
//Hilfsvariablen setzen
hilfe1=getValue(x,i);
hilfe2=B.getValue(x,i);

//Tausch fuer erste Matrix
setValue(x,i,getValue(pivotzeile,i));
setValue(pivotzeile,i,hilfe1);

//Tausch fuer zweite (anfangs: Einheits-)Matrix
B.setValue(x,i,B.getValue(pivotzeile,i));
B.setValue(pivotzeile,i,hilfe2);
}
}   
}

for(i=x+1;i<=n;i++) //*** 0-len erzeugen
{     
hilfe1=getValue(i,x);
setValue(i,x,0.0);
B.setValue(i,x,B.getValue(x,x)*B.getValue(i,x)-hilfe1*B.getValue(x,x));
B.show_Matrix();
system("pause");
for(j=x+1;j<=m;j++)
{
setValue(i,j,getValue(x,x)*getValue(i,j)-hilfe1*getValue(x,j));
B.setValue(i,j,B.getValue(x,x)*B.getValue(i,j)-hilfe1*B.getValue(x,j));

}

}
}
cout [mm] <<"\nA:\n"; [/mm]
show_Matrix();
cout [mm] <<"\nB:\n"; [/mm]
B.show_Matrix();
}

Hallo,

also, wir mussten ein Programm zu Matrixalgebra schreiben und da gehört dann auch das Invertieren von quadratischen Matrizen dazu. Allerdings funtkioniert das bei uns nicht. Kann vielleicht jemand erkennen wo der Fehler bei uns liegt? Oder vielleicht einfach Anregungen oder Tipps geben wie man es besser oder anders machen sollte?
Das wäre sehr nett, wenn uns jemand helfen könnte. Am Freitag müssen wir das nämlich vorstellen, also die Zeit rennt....

Vielen lieben Dank schon mal !
LG

        
Bezug
Fehler in Quellcode: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:20 Mi 25.03.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]