fork download
  1. #include <iostream>
  2.  
  3. //в среднем O(2*n) в худшем O(n*m)
  4. const char* s_find(const char* s1, const char* s2){
  5. const char* a, *b, *p = NULL;
  6. while(*s1){
  7. a = s1;
  8. b = s2;
  9. while(*b && (*b == *a)){
  10. ++a;
  11. ++b;
  12. }
  13.  
  14. if(! *b){
  15. p = s1;
  16. break;
  17. }
  18. ++s1;
  19. }
  20. return p;
  21. }
  22.  
  23. int main(void) {
  24. char s[] = "приключение ёжика в лесу.";
  25.  
  26. const char* p = s_find(s, "ёжик");
  27. if(p != NULL)
  28. std::cout << p << std::endl;
  29. return 0;
  30. }
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
ёжика в лесу.