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 |