Scrieţi programul C/C++ care citeşte de la tastatură un cuvânt format din cel mult 50
caractere, doar litere mari ale alfabetului englez, şi afişează pe ecran, fiecare pe câte o linie,
toate sufixele acestuia, în ordine crescătoare a lungimilor. Un sufix de lungime k al unui
cuvânt este un subşir format din ultimele k caractere ale acestuia.
Exemplu: dacă se citeşte cuvântul EXAMEN se vor afişa sufixele :
N
EN
MEN
AMEN
XAMEN
EXAMEN
Răspunsuri la întrebare
Răspuns de
6
#include<iostream>
#include<string>
using namespace std;
void printSufix(string s, string builder = "")
{
if(s.size() == 0) {
cout<<builder;
return;
}
cout<<builder<<endl;
builder = s[s.size() - 1] + builder;
s.erase(s.size() -1 ,1);
printSufix(s,builder);
}
int main()
{
string s;
cin>>s;
printSufix(s);
}
Da ti-am facut si o varianta mai simpla si mai boring oricum :D
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char s[51];
cin.get(s,51);
int n = strlen(s); //Este mai eficient sa apelezi
//asta odata decat de 100 de ori in foruri
for(int i = 0; i <= n; i++){
for(int j=n-i;j<n;j++)
cout<<s[j];
cout<<endl;
}
}
SKREFI:
Lasa-mi un mesaj daca vrei sa iti fac alt cod mai simplu si fara recursivitate!
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Alte limbi străine,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Religie,
9 ani în urmă