Scrieţi un program C/C++ care citeşte de la tastatură două şiruri de caractere formate din maximum 100 litere mici ale alfabetului englez şi afişează pe ecran cel mai lung sufix comun al celor două şiruri de caractere. Dacă cele două şiruri nu au niciun sufix comun, atunci programul va afişa pe ecran mesajul NU EXISTĂ.Exemplu: pentru şirurile marina şi elena se va afişa na
Răspunsuri la întrebare
Răspuns de
5
Bun, incepi prin a citi sirurile de caractere.
O mare problema este daca ele sunt de lungimi diferite asa cum e si cu sirurile tale cu marina si elena. Problema asta o rezolvam daca inversam sirurile de caractere, astfel vom avea: aniram, anele.
Sirurile inversate sunt mult mai ok pentru ca dupa cum obsevam ele au un sufix comun, na, dar 'na' sin marina si 'na' sin elena se afla la pozitii diferite.
Acum ambele sufixe se afla la inceputul sirului, si stim sigur ca ultimul 'a' spre exemplu atat din marina cat si din elena sunt la aceasi pozitie, la fel si pentru celelalte caractere din sufixul comun, asa ca nu avem decat sa facem un sir nou care va fi sufixul nostru, apoi sa parcurgem sirurile inversate, si cat timp gasim caractere identica le adaugam in sufix, cand nu mai gasim iesim din for.
La sfarsit nu avem decat sa inversam la loc sufixul si gata!
O mare problema este daca ele sunt de lungimi diferite asa cum e si cu sirurile tale cu marina si elena. Problema asta o rezolvam daca inversam sirurile de caractere, astfel vom avea: aniram, anele.
Sirurile inversate sunt mult mai ok pentru ca dupa cum obsevam ele au un sufix comun, na, dar 'na' sin marina si 'na' sin elena se afla la pozitii diferite.
Acum ambele sufixe se afla la inceputul sirului, si stim sigur ca ultimul 'a' spre exemplu atat din marina cat si din elena sunt la aceasi pozitie, la fel si pentru celelalte caractere din sufixul comun, asa ca nu avem decat sa facem un sir nou care va fi sufixul nostru, apoi sa parcurgem sirurile inversate, si cat timp gasim caractere identica le adaugam in sufix, cand nu mai gasim iesim din for.
La sfarsit nu avem decat sa inversam la loc sufixul si gata!
Anexe:
Alte întrebări interesante
Ed. tehnologică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă