Hallo,
Ich wollte mal eben in devC++ einen Sortieralgorithmus schreiben, das ist nun schon ein paar Stunden her.
Erstmal zum Code:
Abgesehen von dem wirklich grausamen Stil und der umständlichen Herandgehensweise (will gar nicht wissen wieviele Flops das kostet :P ) kompiliert das ganze Monster auch gar nicht erstCode:#include <iostream.h> using namespace std; int i; int middle (int b[]) //sucht den Mittelwert eines Feldes { int big=0; int small=b[0]; int average=0; for (i=0;i<sizeof(b);i++) { if (b[i]<small) small=b[i]; if (b[i]>big) big=b[i]; } average=(big+small)/2; return(average); } int mysort(int feld[]) { int m; int n=0; int o; int p; if (sizeof(feld)>1) { //Mittelwert abholen und schauen wieviele Elemente kleiner als der //Mittelwert sind (Anzahl=p) m=middle(feld); for (i=0;i<sizeof(feld);i++) { if (feld[i]<m) n++; } p=n; o=sizeof(feld)-p; //Anzahl der Elemente die groesser als der //Mittelwert sind //ein Array für die kleinen und eins für die grossen int small[p]; int big[o]; //die kleinen ins entsprechende Array kopieren n=0; for (i=0;i<sizeof(feld);i++) { if (feld[i]<m) { small[n]=feld[i]; n++; } } //das gleiche für die grossen... n=0; for (i=0;i<sizeof(feld);i++) { if (feld[i]>=m) { big[n]=feld[i]; n++; } } // ein Array für die kleinen sortierten Werte und eins für die //grossen int klein[p]; int gross[o]; klein=mysort(small); gross=mysort(big); //feld aus den beiden sortierten Array zusammensetzen for (i=0;i<p;i++) { feld[i]=klein[i]; } n=0; for (i=(n+1);i<(sizeof(feld));i++) { feld[i]=gross[n]; n++; } } return(feld); } int main() { int a[9]={5,2,8,1,4,5,7,3,0}; int b[9]; b=mysort(a); system("PAUSE"); return 0; }.
main.cpp: In function `int mysort(int*)':
main.cpp:48: error: incompatible types in assignment of `int' to `int[((unsigned int)((int)p))]'
main.cpp:59: error: incompatible types in assignment of `int' to `int[((unsigned int)((int)o))]'
main.cpp:72: error: invalid conversion from `int*' to `int'
main.cpp: In function `int main()':
main.cpp:80: error: incompatible types in assignment of `int' to `int[9]'
Wäre über Hilfe sehr dankbar
Gruß Goldenflash







Zitieren


Lesezeichen