003
30.05.2004, 00:14 Uhr
~hansli
Gast
|
Erstens sorry, dass ich das Falsche Forum erwischt habe. Zweitens: Ich kenne mich bei C besser aus als bei C++, habe schon lange nichts mehr programmiert und deshalb ist auch der mischmasch code entstanden. das auslesen aus der Datei funktioniert wunderbar. Der Fehler passiert beim Abfüllen in das 2D Array. Wie ist das eigentlich bei einer Matrix, werden die einzelnen Zeichen im Speicher direkt hinter einander gelegt. Hier ist noch das ini File:
1=173,169,175,314,512,419,437,333,437,419,512,314,175,169,173 2=224,544,481,468,280,145,126,280,126,145,280,468,481,544,224 3=273,603,475,445,310,172,148,354,148,172,314,445,473,595,270 4=197,548,380,434,330,217,143,406,143,217,330,434,380,548,197 5=253,571,418,457,365,207,159,425,159,207,365,457,418,571,253 6=290,392,428,141,295,517,549,343,239,457,225,268,502,509,129 7=161,121,461,437,531,388,532,491,287,132,350,528,243,234,261 8=446,377,233,132,183,490,362,235,354,620,237,205,462,473,298 9=430,463,148,403,468,146,399,503,394,407,167,303,179,256,514 10=393,550,163,589,577,564,124,307,254,576,277,267,234,474,197
Ich möchte nun die einzelnen 3-stelligen zahlen genau so wie sie hier stehen in das 2D-Array abfüllen welches im main dynamisch erzeugt wird: ...
C++: |
int **pop; //Populations-Matrix (alte Generation) pop = (int**) calloc (anzInd, sizeof (int*)); for (int i = 0; i < anzInd; i++) { pop[i] = (int*) calloc (anzTopf, sizeof (int)); }
|
...
Wenn ich die Zahlen in der Funktion ausgebe, sieht es aus als würde alles stimmen, gebe ich sie aber im main aus erhalte ich folgendes.
173,169,175,314,512,419,437,333,437,419,512,314,175,169,173 468,280,145,126,280,126,145,280,468,481,544,224,273,603,475 148,354,148,172,314,445,473,595,270,197,548,380,434,330,217 217,330,434,380,548,197,253,571,418,457,365,207,159,425,159 418,571,253,290,392,428,141,295,517,549,343,239,457,225,268 161,121,461,437,531,388,532,491,287,132,350,528,243,234,261 132,183,490,362,235,354,620,237,205,462,473,298,430,463,148 399,503,394,407,167,303,179,256,514,393,550,163,589,577,564 576,277,267,234,474,197,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Die erste Zeile stimmt wunderbar, bei der zweiten Zeile fehlen die ersten beiden Werte, die letzten beiden sind dafür die ersten beiden der dritten Zeile u.s.w.?
Bearbeitung von Pablo: |
Bitte, benutze die cpp tags selber, danke.
|
Dieser Post wurde am 30.05.2004 um 01:24 Uhr von Pablo editiert. |