sorry falls das unhöflich rüberkam, war nicht so gemeint.
ich war mir nicht darüber im klaren das copy paste bei den fehlermeldungen funktioniert *schäm*
ok, ich versuch es mit einem ausschnitt:
Code:
void TForm1::calculate_RunonCells()
{
//10x10 Grid durchgehen
for (int i=0; i<10; i++)
for (int j=0; j<10; j++)
{
//Die 8 umgebenden Zellen jeder Zelle durchgehen
for (int k=max(0,i-1); k<=min(i+1,10-1); k++)
for (int l=max(0,j-1); l<=min(j+1,10-1); l++)
{
if (((runoffdirection[k][l]-runoffdirection[k][l]%ysize)/ysize == i) && (runoffdirection[k][l]%ysize == j))
//wenn die angeschaute der umgebenden Zellen in die angeschaute [i][j] Zelle führt
{
surroundFlow[i][j]++;
//dann wird dieser Wert aufsummiert
}
}
helpFlow = surroundFlow[i][j];
//Den an Variable übergeben
runoff_list [position][0] = helpFlow;
//Den Wert in die erste Spalte des Arrays eintragen (0 wenn keine Zelle etwas einträgt)
runoff_list [position][1] = i;
//i-Position in die zweite Spalte
runoff_list [position][2] = j;
//j-Position in die dritte Spalte
position++;
//Position im Array immer eins weiter gehen (von 0 bis 99) -> so viele Reihen wie das Grid Zellen hat
}
}
Die Ausgabe ist mein Array runoff_list[100][3]
mit den Werten {helpFlow i j}
und das soll nach helpFlow sortiert werden
Sortieren möchte ich sofort nachdem ich das Array erstellt habe, die Formel füge ich also vor der letzten geschweiften Klammer am Ende der Funktion ein
Die Fehlermeldungen sind
[C++ Fehler] LargeScale_Unit.cpp(157): E2188 Ausdruckssyntax
[C++ Fehler] LargeScale_Unit.cpp(158): E2034 Konvertierung von 'int (* (_closure )(const void *,const void *))(const void *,const void *)' nach 'int (*)(const void *,const void *)' nicht möglich
[C++ Fehler] LargeScale_Unit.cpp(158): E2342 Keine Übereinstimmung des Typs beim Parameter '__fcmp' ('int (*)(const void *,const void *)' erwartet, 'void' erhalten)
wenn ich es so schreibe:
Code:
comp_3(const void *v1, const void *v2);
qsort(runoff_list,100, sizeof(runoff_list[0]),comp_3);
und
[C++ Fehler] LargeScale_Unit.cpp(158): E2034 Konvertierung von 'int (* (_closure )(const void *,const void *))(const void *,const void *)' nach 'int (*)(const void *,const void *)' nicht möglich
[C++ Fehler] LargeScale_Unit.cpp(158): E2342 Keine Übereinstimmung des Typs beim Parameter '__fcmp' ('int (*)(const void *,const void *)' erwartet, 'void' erhalten)
bei
Code:
qsort(runoff_list,100, sizeof(runoff_list[0]),comp_3);
und
[C++ Fehler] LargeScale_Unit.cpp(228): E2188 Ausdruckssyntax
bei
Code:
qsort(runoff_list,100, sizeof(runoff_list[0]),comp_3(const void *v1, const void *v2));
Und wenn du keinen Bock hast das alles zu lesen kann ich das absolut verstehen....