Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Übertragung von C++source in C-source

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] > 3 < [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ]
020
04.01.2004, 14:44 Uhr
Lumina



Hi Leute,

wie ihr sehen könnt, bin ich jetzt auch angemeldet...
--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
04.01.2004, 15:52 Uhr
Pablo
Supertux
(Operator)


Ich glaube, du hast die det-Funktion von Windalf übernommen.Und soweit ich mir erinnern kann, war das Rätsel nur für 3x3 Matrizen. Naja, vielleicht funktioniert es für nxn Matrizen, n>3. Es gibt dafür keinen Algorithmus dafür. Sonst müsstes du Leibniz anwenden, was sehr mühsam sein wird oder die Matrix in einer obere Dreiecksmatrix umwandeln und nur die Einträge der Diagonalen multiplizieren, oder Entwicklung nach der i. Spalte. Versuche nur eine 3x3 Matrix einzugeben, wenn es damit funktioniert, dann ist Windalfs Algorithmus gut, aber funktioniert nicht für nxn-Matrizen für n>3
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 04.01.2004 um 15:53 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
04.01.2004, 15:56 Uhr
0xdeadbeef
Gott
(Operator)


Ah, noch jemand, der die komplizierte Anmeldungsprozedur überstanden hat

Was den Code angeht, mir sind zwei Dinge aufgefallen:

1. Um doubles einzulesen und auszugeben, benutzt man %lf, für floats %f. (lf für long float == double) Also:

C++:
scanf("%lf", &matrix[n]);



Als zweites hatte ich das Problem, dass er, wenn ich die double-Arrays nicht explizit nach double* gecastet habe, scheinbar das ganze Array auf den Stack gepusht hat, nicht die Adresse. Ich habs mit zwei Varianten hingekriegt. Die erste wäre, beim Aufruf der Funktion das erste Argument explizit nach double* zu casten:

C++:
EingabeDerMatrix((double*) mat, 3);


die zweite, bei der Funktionsdeklaration folgendes zu machen:

C++:
void EingabeDerMatrix(double matrix[], int Rang) { //...


Was genau der Standard dazu sagt, weiß ich aber nicht genau. virtual weiß sowas normalerweise...
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
04.01.2004, 17:12 Uhr
Lumina



@ Pablo:

Ja, die Funktion ist von Windalf übernommen, ist ja schließlich auch öffentlich hier oder nicht? ich hab auch selbst versucht, das Problem in den Griff zu bekommen, aber bin kläglich daran gescheitert. Das Programm sollte eigentlich schon nxn-Matrizen handhaben können, aber wie gesagt, soweit bin ich noch garnicht. Erst mal muss der PC das richtige aus dem Speicher lesen...

@ 0xdeadbeef:

Die Anmeldung ist doch echt ein Kinderspiel... oder war das Ironie??!

Mal sehen, was passiert, wenn ich das mal so teste....
--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
04.01.2004, 17:19 Uhr
(un)wissender
Niveauwart


Na ja, dass mit der Anmeldung ist einfach, aber man muss Cookies akzeptieren oder was anderes(vergessen), das rockt nicht.
Egal, sind alles nette Leute hier...willkommen.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
04.01.2004, 17:21 Uhr
0xdeadbeef
Gott
(Operator)


Vielleicht sollte ich mir doch angewöhnen, das -Smiley zu benutzen. Aber ich kann diese Schilder-Smileys nicht leiden...

Statt Cookies kannst du nen PHP-Session aufmachen. Das mache ich immer (mag keine Kekse... )
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 04.01.2004 um 17:22 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
026
04.01.2004, 17:24 Uhr
(un)wissender
Niveauwart


@Lumina
Ich weiß nicht, wie weit du mit deinem Wissen bist, aber du könntest auch std::vector<std:: vector<double> > nehmen.
Dann kannst mit [][] auf die Zeilen und Spalten zugreifen.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
027
04.01.2004, 17:37 Uhr
0xdeadbeef
Gott
(Operator)


std::vector ist nicht C, sondern C++, und der Code sollte in C sein.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
028
04.01.2004, 19:07 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

@ 0xdeadbeef:
Die Anmeldung ist doch echt ein Kinderspiel...


Für die meisten Leute ja... Beefy ist jedoch beinahe dran erstickt.
Ich musste ihn ewig nerven und irgendwann hatte FloSoft dann ein einsehen und hat auch das einloggen über ne Session ermöglicht...


Zitat:

Ich glaube, du hast die det-Funktion von Windalf übernommen.Und soweit ich mir erinnern kann, war das Rätsel nur für 3x3 Matrizen



Nein für 2X2 gehts natürlich auch...
Die Idee bei der sache war ja gerade die Determinante einer 2x2 Matrize auszurechen, wenn es nicht 2X2 war wurde "so lange rekursiv weitergerechnet" bis es ein 2X2 ist.

Was nicht geht ist ein 1x1 matrix (so man das noch matrix nenen kann)
in diesem falle müsste dann der wert selbst retruned werden was ja nicht weiter schwer sein sollte....


Zitat:

Das Programm sollte eigentlich schon nxn-Matrizen handhaben können, aber wie gesagt, soweit bin ich noch garnicht. Erst mal muss der PC das richtige aus dem Speicher lesen...


das geht auch mit beliebigen Quadratischen Matrizen allerdings tritt das problem auf das der Aufwand in die höhe schnellt. Wenn du dir mal die Kommentare bei dem Rätsel dazu anschaust.... Für n=18 überlebst du die rechnung gar nicht mehr...
Also alles was grösser als n=10 ist, verursacht eigentlich nicht mehr akzeptablen aufwand....

Man könnte jetzt hier noch jede Menge optimieren aber das war ja auch gar nicht mein Ziel einen super schnellen algorithmus zu schreiben sondern ziel war es einen zu schreiben der mit wenig ascii-zeichen auskommt....
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 04.01.2004 um 19:08 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
029
04.01.2004, 19:59 Uhr
Lumina



@ Windalf:

ja, ich weiß ja, dass DEIN ALGO perfekt funzt, hab ihn schon getestet ohne Ende. Bis zu n=18 muss ich gar nicht kommen, mir reicht n=10! Wer hat schon Lust, mehr als 100 Zahlen einzugeben??

Zurück zu meinem ursprünglichem Anliegen:
Was denkst du ist die beste Möglichkeit, eine Matrix zu invertieren? Schon auch mit der Determinante oder? Oder soll ich mich da auch an deinem Rätsel orientieren...
--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 < [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: