Advertisement
Guest User

Untitled

a guest
Nov 25th, 2015
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int len(char str[]) {
  4. int l = 0;
  5. int j = 0;
  6. while (str[j]!='\0') {
  7.     l++;
  8.     j++;
  9. }
  10. return l;
  11. }
  12.  
  13. int lastpos(char str[], char sbstr[]) {
  14. int len_str = len(str);
  15. bool found = false;
  16. int len_sbstr = len(sbstr);
  17. int last_sbstr = len_sbstr -1;
  18. for (int i = len_str-1; i>0; i--) {
  19.     if (str[i] == sbstr[last_sbstr]) {
  20.         for (int j = 0, k = 0; j<len_sbstr; j++,k++) {
  21.             if (str[j+i] = sbstr[k]) {
  22.                 found = true;
  23.             }
  24.             else {
  25.                 found = false;
  26.                 break;
  27.             }
  28.         }
  29.         if (found) return i-last_sbstr;
  30.     }
  31.  
  32. }
  33.     return -1;
  34. }
  35. int main() {
  36. setlocale(LC_ALL,"");
  37. char str[256];
  38. char sbstr[256];
  39. int l;
  40. cout<<"Введи строку: ";
  41. cin>>str;
  42. cout<<"Введи искомую подстроку: ";
  43. cin>>sbstr;
  44. l = lastpos(str,sbstr);
  45. if (l!=-1)
  46. cout<<"Последнее вхождение начинается с "<<l<<endl;
  47. else
  48. cout<<"Подстроки нет"<<endl;
  49. return 0;
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement