Der Vollständigkeit halber für die blutigen Anfänger (wie z.B. mich):
byte tollesArray[5] = {0, 23, 1, 9, 50}; // Ausgangsbasis
byte Zielarray[5] = {0, 0, 0, 0, 0}; // Zielarray
void setup()
{
Serial.begin(9600);
ordnungs_Funktion();
delay(1000);
for(int i = 0; i < 5; i++)
{
Serial.print(Zielarray[i]);
Serial.print(" ");
}
}
void loop()
{
}
void ordnungs_Funktion()
{
memcpy(Zielarray, tollesArray, sizeof(Zielarray)); // supertolles Array ins Zielarray kopieren
for (int k = 1; k < sizeof(Zielarray); k++)
{
for (int i = 0; i < sizeof(Zielarray) -1 - k; i++)
{
if (Zielarray[i] > Zielarray[i +1])
{
int temp = Zielarray[i];
Zielarray[i] = Zielarray[i + 1];
Zielarray[i + 1] = temp;
}
}
}
}
Works. Danke an alle!
Mit der zweiten Methode will es jedoch leider noch nicht wirklich funktionieren:
#include
#include
byte tollesArray[5] = {0, 23, 1, 9, 50}; // Ausgangsbasis
byte Zielarray[5] = {0, 0, 0, 0, 0}; // Zielarray
void setup()
{
Serial.begin(9600);
ordnungs_Funktion();
delay(1000);
for(int i = 0; i < 5; i++)
{
Serial.print(Zielarray[i]);
Serial.print(" ");
}
}
void loop()
{
}
void ordnungs_Funktion()
{
memcpy(Zielarray, tollesArray, sizeof(Zielarray)); // supertolles Array ins Zielarray kopieren
int n;
qsort (Zielarray, 5, sizeof(Zielarray), compare);
}
int compare (const void * a, const void * b)
{
return (*(int*)a - *(int*)b );
}
Gruß Chris