Folgendes funktioniert:
Code: Alles auswählen
int vgl_werte_abst(const void* wert_a, const void* wert_b) {
int a = *(int*) wert_a;
int b = *(int*) wert_b;
return (b - a);
qsort(werte, 7, sizeof(int), vgl_werte_abst);
puts("\nDas sind die sortierten Wertungen:");
for (i = 0; i < 7; i++) {
printf("%i\n",werte[i]);
}
Code: Alles auswählen
typedef struct {
int breite;
int hoehe;
} rechteck;
int vgl_flaechen(const void*a, const void*b) {
rechteck *ra = (rechteck*) a;
rechteck *rb = (rechteck*) b;
int area_a = (ra->breite * ra->hoehe);
int area_b = (rb->breite * rb->hoehe);
return (area_a - area_b);
}
//Ab hier "nur" noch wild probiert ;) !
rechteck reck = { {100, 200},{200,300} };
qsort(reck, 2, sizeof(rechteck), vgl_flaechen);
puts("\nDas sind die sortierten Flaechen:");
for(i=0;i<2;i++){
printf("%s",reck);
}