Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int len(char str[]) {
- int l = 0;
- int j = 0;
- while (str[j]!='\0') {
- l++;
- j++;
- }
- return l;
- }
- int lastpos(char str[], char sbstr[]) {
- int len_str = len(str);
- bool found = false;
- int len_sbstr = len(sbstr);
- int last_sbstr = len_sbstr -1;
- for (int i = len_str-1; i>0; i--) {
- if (str[i] == sbstr[last_sbstr]) {
- for (int j = 0, k = 0; j<len_sbstr; j++,k++) {
- if (str[j+i] = sbstr[k]) {
- found = true;
- }
- else {
- found = false;
- break;
- }
- }
- if (found) return i-last_sbstr;
- }
- }
- return -1;
- }
- int main() {
- setlocale(LC_ALL,"");
- char str[256];
- char sbstr[256];
- int l;
- cout<<"Введи строку: ";
- cin>>str;
- cout<<"Введи искомую подстроку: ";
- cin>>sbstr;
- l = lastpos(str,sbstr);
- if (l!=-1)
- cout<<"Последнее вхождение начинается с "<<l<<endl;
- else
- cout<<"Подстроки нет"<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement