Răspuns :
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
int main()
{ char s[20],v[21],suf[10];
int i,j=0;
cout<<"s=";
cin.getline(s,20);
cout<<"v=";cin.getline(v,21);
strrev(s);
strrev(v);
for(i=0;s[i] && v[i] && s[i]==v[i];i++)
{
suf[j]=s[i];
j++;
suf[j]='\0';}
strrev(suf);
cout<<"sufixul:"<<suf;
}
#include<string.h>
#include<math.h>
using namespace std;
int main()
{ char s[20],v[21],suf[10];
int i,j=0;
cout<<"s=";
cin.getline(s,20);
cout<<"v=";cin.getline(v,21);
strrev(s);
strrev(v);
for(i=0;s[i] && v[i] && s[i]==v[i];i++)
{
suf[j]=s[i];
j++;
suf[j]='\0';}
strrev(suf);
cout<<"sufixul:"<<suf;
}
![Vezi imaginea JolieJulie](https://ro-static.z-dn.net/files/d46/8ce4ef976307960d4f52db748bdf9c68.png)
// complexitate timp O(a + b)
#include <iostream>
using namespace std;
int main() {
string a, b;
cin >> a >> b;
int i = a.length() - 1;
int j = b.length() - 1;
int l = 0;
while (0 <= i && 0 <= j && a[i] == b[j]) {
i--;
j--;
l++;
}
if(l > 0)
cout << l;
else
cout <<"Nu exista";
return 0;
}
#include <iostream>
using namespace std;
int main() {
string a, b;
cin >> a >> b;
int i = a.length() - 1;
int j = b.length() - 1;
int l = 0;
while (0 <= i && 0 <= j && a[i] == b[j]) {
i--;
j--;
l++;
}
if(l > 0)
cout << l;
else
cout <<"Nu exista";
return 0;
}