👤

cine poate sa imi explice si mie urmatoarea problema
char s[52],a[200]="";
    int i,k=0,j;
    cin>>s;
    for(i=0;i<strlen(s);i=i+2)
      for(j=1;j<=s[i+1]-'0';j++)
       {
           a[k]=s[i];
           k++;
       }
    cout<<a;

cerinta e ca fiecare litera sa fie scrisa de cate ori indica numarul de langa
exemplu: a2g4s7  ---    aaggggsssssss



Răspuns :

In primul for de la i pana la lungimea sirului se retin literele iar in al doilea se merge de la 1 pana la cifra de pe pozitia s[i+1].
De exemplu :
s[0] este a , apoi intra in for-ul al doilea de la 1 pana la 2 si se completeaza a[0] cu a , k creste , apoi a[1] cu a , k creste , apoi i-ul se face 3 si tot asa.

"k" trebuia sa creasca deoarece fiecare litera trebuie pusa pe o pozitie diferita ( nu poti retine in k[0] aaggggssssss... ) . De aceea pe k[0] se retine litera a , pe k[1] tot a , pe k[2] g ..... pe k[12] s.... )

Sper ca ai inteles .
Vă mulțumim pentru vizita pe platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Așteptăm cu entuziasm să reveniți și vă invităm să ne adăugați la lista de favorite!


Viz Lesson: Alte intrebari