fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define N 10
  5.  
  6. int main()
  7. {
  8. char data[][10]={"Max","Moritz","Bolte","Boeck","Lempel","Maecke","Huckebein","Schlich","Helene","Antonius"};
  9. int ige,irt,ibl;
  10.  
  11. for (irt=0;irt < (N-1);irt++)
  12. for (ige=irt+1;ige < N;ige++)
  13. {
  14. for (ibl=0; data[irt][ibl] == data[ige][ibl] && data[irt][ibl] != 0;ibl++) ; //Leeranweisung
  15. if (data[irt][ibl] > data[ige][ibl])
  16. {
  17. char tmp;
  18. for(ibl=0; ibl<10;ibl++)
  19. {
  20. tmp=data[irt][ibl];
  21. data[irt][ibl]=data[ige][ibl];
  22. data[ige][ibl]=tmp;
  23. }
  24. }
  25. }
  26.  
  27. char (*dataneu)[10] = malloc( (N+1) * 10 );
  28. memcpy( dataneu, data, sizeof data );
  29. scanf("%9[^\n]",dataneu[N]);
  30.  
  31.  
  32. for (irt=0;irt < (N);irt++)
  33. for (ige=irt+1;ige < N+1;ige++)
  34. {
  35. for (ibl=0; dataneu[irt][ibl] == dataneu[ige][ibl] && dataneu[irt][ibl] != 0;ibl++) ; //Leeranweisung
  36. if (dataneu[irt][ibl] > dataneu[ige][ibl])
  37. {
  38. char tmp;
  39. for(ibl=0; ibl<10;ibl++)
  40. {
  41. tmp=dataneu[irt][ibl];
  42. dataneu[irt][ibl]=dataneu[ige][ibl];
  43. dataneu[ige][ibl]=tmp;
  44. }
  45. }
  46. }
  47. for(ibl=0; ibl<=N;ibl++)
  48. puts(dataneu[ibl]);
  49.  
  50. free(dataneu);
  51. return 0;
  52. }
  53.  
Success #stdin #stdout 0s 2296KB
stdin
Aal
stdout
Aal
Antonius
Boeck
Bolte
Helene
Huckebein
Lempel
Maecke
Max
Moritz
Schlich