Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. int sortieren(char *strin[],size_t anz)
  2. {
  3. int i,a=0;
  4. char *strin2[anz];
  5.  
  6.  
  7.  
  8. printf("\nEingabe für Aufsteigend sortieren: 1\n Eingabe für absteigend sortieren: 2\n--> ");
  9. scanf("%d",&a);
  10. if(a!=1 && a!=2) //hier wird eingelesen ob das feld aufsteigend oder absteigend sortiert werden soll (inkl. eingabeueberpruefung)
  11. {
  12. printf("\nFehlerhafte Eingabe\n");
  13. return 1;
  14. }
  15.  
  16.  
  17.  
  18. for(i=0; i<anz; i++)
  19. {
  20. strin2[i]=(char *) calloc(strlen(strin[i]),1); //hier wird das gesamte feld auf dynamischen angeforderten zwischenspeicher kopiert
  21. strcpy(strin2[i],strin[i]);
  22. }
  23.  
  24. qsort(strin2,anz,sizeof(char *),vgl); //hier wird das feld mithilfe von qsort und einer selbstgemachten vergleichsfunktion sortiert
  25.  
  26. printf("\nFeld sortiert: \n\n");
  27.  
  28. if(a==1)
  29. {
  30. for(i=0; i<anz; i++)
  31. {
  32. puts(strin2[i]); //hier wird das feld aufstiegend ausgegeben
  33. }
  34. }
  35. else
  36. {
  37. for(i=anz-1; i>=0; i--)
  38. {
  39. puts(strin2[i]); //hier wird das feld absteigend ausgegeben
  40. }
  41. }
  42.  
  43. for(i=0; i<anz; i++)
  44. {
  45. free(strin2[i]); //hier wird der zwischenspeicher wieder freigegeben
  46. }
  47. return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement