006
29.07.2007, 12:15 Uhr
Lex_Lex
|
Code: |
in iteration.c
void iteration(...) {
[...] double **oef_flaechen; double **sch_flaechen; [...] mallocmat(1,2, &oef_flaechen, 2, n, &sch_flaechen, 2, n); //So wird in dem Programm standartmäßig Speicherplatz allokiert [...] int blabla=0; for (i=0; i<n; i++){ oef_flaechen[0][n]=5; oef_flaechen[1][n]=8;
z = flaechen(...,*oef_flaechen);
//Ausgabe des Arrays for (i=0; i<n; i++){ blabla++; //if (blabla==50) blabla=0; //if (blabla==0) printf("%.5lf %.5lf\n",oef_flaechen[0][n],oef_flaechen[1][n]); }
in flaeche.c
int flaechen( ...,double **flaechen_oef) { [...] flaechen_oef[1][v]=357.159; flaechen_oef[2][v]=gesamtlaenge; [...] rwp(...,oef_flaechen,sch_flaechen);
in rwp.c void rwp(...,double **flaechen_oef,double **flaechen_sch) [...] awp(,flaechen_oef,flaechen_sch); [...]
in awp.c void awp(,double **flaechen_oef,double **flaechen_sch)
|
Zur Erklärung: in iteration.c definiere ich mir meine Matrix (eigentlich sind es zwei, aber wenn ich es für die eine kann dannsicher auch für die andere da genau das selbe damit passiert). Ich allokiere den Speicherplatz und fülle die Matrix. Ich rufe die Fkt flaechen auf und übergebe meine Matrix. In der Fkt flaechen will ich die Werte meiner Matrix ändern. Danach möchte ich die Werte in der Fkt Iteration ausgeben.
So wie in diesem Beispiel oben beschreiben gibt er mir dann auch Werte aus. Allerdings schriebt er mir für oef_flaechen[0][n] 357.159 hin. Für oef_flaechen[1][n] schreibt er 0.00000 obwohl die Variable gesamtlaenge ein Wert hat. Würde ich jetzt die Zeile flaechen_oef[2][v]=gesamtlaenge; z.B. in laechen_oef[2][v]=10.12345 ändern schreibt er mir diesen Wert bei der Ausgabe in iteration unter oef_flaechen[1][n] auch 10.12345 ausgeben. Gesamtlaenge ist aber auch ein double.
Wenn dieses umschreiben in fleachen.c dann mal funktionieren sollte möchte ich die beiden Matrizen (mit sch_flaechen passiert genau das selbe) an rwp übergeben und weiter an awp in awp möchte ich meine Werte dann am besten in der Form oef_flaechen[a][b] zu weiteren Berechnungen nutzen.
VIELEN DANK schonmal für eure Hilfe. Dieser Post wurde am 29.07.2007 um 12:15 Uhr von Lex_Lex editiert. |