Hallo,
Ich wollte mal eben in devC++ einen Sortieralgorithmus schreiben, das ist nun schon ein paar Stunden her.
Erstmal zum Code:
Code:
#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;
}
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 erst .

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