fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. char *sub(const char*s,char *z) /* substring mit ausschließlich aufsteigender ASCII-Zeichenfolge ab 1. Position */
  6. {
  7. while(*s)
  8. {
  9. if(*z)
  10. {
  11. if(z[strlen(z)-1]<*s)
  12. strncat(z,s,1);
  13. else
  14. break;
  15. }
  16. else
  17. *z=*s;
  18. ++s;
  19. }
  20. return z;
  21. }
  22.  
  23. char *folgensuche(const char* str, char* ziel)
  24. {
  25. while(*str) /* ab jeder Position suchen und mit bisher längstem Substring vergleichen */
  26. {
  27. char z[64000]="";
  28. if(strlen(sub(str++,z))>strlen(ziel))
  29. strcpy(ziel,z);
  30. }
  31. return ziel;
  32. }
  33.  
  34. int main()
  35. {
  36. const char *str="kotafgovlav";
  37.  
  38. char ziel[64000]="";
  39.  
  40. puts(folgensuche(str,ziel));
  41.  
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0s 4528KB
stdin
Standard input is empty
stdout
afgov