Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int sortieren(char *strin[],size_t anz)
- {
- int i,a=0;
- char *strin2[anz];
- printf("\nEingabe für Aufsteigend sortieren: 1\n Eingabe für absteigend sortieren: 2\n--> ");
- scanf("%d",&a);
- if(a!=1 && a!=2) //hier wird eingelesen ob das feld aufsteigend oder absteigend sortiert werden soll (inkl. eingabeueberpruefung)
- {
- printf("\nFehlerhafte Eingabe\n");
- return 1;
- }
- for(i=0; i<anz; i++)
- {
- strin2[i]=(char *) calloc(strlen(strin[i]),1); //hier wird das gesamte feld auf dynamischen angeforderten zwischenspeicher kopiert
- strcpy(strin2[i],strin[i]);
- }
- qsort(strin2,anz,sizeof(char *),vgl); //hier wird das feld mithilfe von qsort und einer selbstgemachten vergleichsfunktion sortiert
- printf("\nFeld sortiert: \n\n");
- if(a==1)
- {
- for(i=0; i<anz; i++)
- {
- puts(strin2[i]); //hier wird das feld aufstiegend ausgegeben
- }
- }
- else
- {
- for(i=anz-1; i>=0; i--)
- {
- puts(strin2[i]); //hier wird das feld absteigend ausgegeben
- }
- }
- for(i=0; i<anz; i++)
- {
- free(strin2[i]); //hier wird der zwischenspeicher wieder freigegeben
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement