Rezolvare BAC Informatica 2009 – Varianta 24 – Subiectul al II-lea problema 5
Mai jos puteti gasi rezolvarea problemei 5 de la subiectul II din varianta 24 pentru examenul de bacalaureat din anul 2009
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream.h> | |
#include <string.h> | |
void main() { | |
char a[100], b[100]; | |
int i, j; | |
cin >> a >> b; | |
i = strlen(a) - 1; | |
j = strlen(b) - 1; | |
while (a[i] == b[j]) { | |
i--; | |
j--; | |
} | |
if (i == strlen(a) - 1) | |
cout << "Nu exista"; | |
else | |
cout << a + i + 1; | |
} |
Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem
cum ramane cu cazul in care nu exista sufix comun?
Ai dreptate! Multumim pentru observatie! Am modificat. Zi faina.
Imi poate explica cineva de ce la final este a+I+1, va rog frumos?
Salut. Daca avem un sir a = “abcdefg”, a + 1 o sa fie egal cu “bcdefg”, a+2 o sa fie egal cu
“cdefg” si tot asa. Deci noi afisam a + i + 1 pentru a selecta subsirul care porneste de la indexul i + 1 ( sufixul comun). Spor si zi faina.
Multumesc frumos!
Imi poate explica cineva de ce acele 2 variabile pornesc de la strlen-1 si nu doar de la strlen?