Add solution.
This commit is contained in:
1 parent
8df631db8b
commit
dc74f6e306
1 file changed
+17
@@ -13,6 +13,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
void gibStringsAus(const char *strings[], unsigned int anzahl);
|
void gibStringsAus(const char *strings[], unsigned int anzahl);
|
||||||
|
int compare(const void *arg1, const void *arg2);
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
@@ -23,6 +24,7 @@ int main()
|
|||||||
gibStringsAus(strings, anzahlStrings);
|
gibStringsAus(strings, anzahlStrings);
|
||||||
|
|
||||||
// TODO: Hier sortieren
|
// TODO: Hier sortieren
|
||||||
|
qsort(strings, anzahlStrings, sizeof(*strings), compare);
|
||||||
|
|
||||||
printf("\nNach Sortierung:\n");
|
printf("\nNach Sortierung:\n");
|
||||||
gibStringsAus(strings, anzahlStrings);
|
gibStringsAus(strings, anzahlStrings);
|
||||||
@@ -37,3 +39,18 @@ void gibStringsAus(const char *strings[], unsigned int anzahl)
|
|||||||
printf("%s\n", strings[i]);
|
printf("%s\n", strings[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int compare(const void *arg1, const void *arg2)
|
||||||
|
{
|
||||||
|
const char *str1 = *((const char **)arg1);
|
||||||
|
const char *str2 = *((const char **)arg2);
|
||||||
|
|
||||||
|
if(!isdigit(str1[0]) && !isdigit(str2[0]))
|
||||||
|
return strcmp(str1, str2);
|
||||||
|
else if(isdigit(str1[0]) && isdigit(str2[0]))
|
||||||
|
return strcmp(str2, str1);
|
||||||
|
else if(isdigit(str1[0]))
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
Reference in new issue
Block a user