👤

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ăspuns :

#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;

   }

}


Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari