Ich habe eine Funktion, die ein Array von Zahlen nimmt und sie von niedrig nach hoch sortiert. Bis jetzt habe ich diesen Algorithmus, aber die Ausgabe ist nicht das, was ich erwarte. Kann jemand etwas Licht darauf werfen? Ich kann keine C-Bibliotheksfunktionen verwenden.Ein Array in C von niedrig nach hoch sortieren (ohne qsort)
/*
Sort "count" numbers stored in array numbers[] in non-decreasing order.
There may be duplicate numbers in the array.
You may use any sorting algorithm that you know.
*/
void sort(double numbers[], int count)
{
int i, j, k;
//printf("%d", count);
double temp;
do{
j = 0;
for (i = 0;i<=count;i++){
if (numbers[i] > numbers[i+1]){//this was numbers[k], which was an error
j = 1;
temp = numbers[i];
numbers[i] = numbers[i+1];
numbers[i+1] = temp;
}
}
} while (j == 1);
}
Was
i<=count-2
oderi<count-1
ändern ist 'k' ...? – sje397Es ist ein Int. :-) – Eiko