Rezolvare completă PbInfo #2804 strncat

Cerința

Pentru un cuvânt format din litere mici ale alfabetului englez s și un număr natural x mai mic sau egal cu lungimea cuvântului, definim următoarea operație:

  • dacă x este par, la s se vor adăuga primele sale x litere, în ordinea din șir;
  • dacă x este impar, la s se vor adăuga primele sale x litere, în ordinea inversă din șir.

Se dă un cuvânt s și un șir de n numere naturale x[1], x[2], …, x[n]. Se aplică succesiv operația definită mai sus între șirul s și numerele din șir, în ordinea acestora.

Afișați șirul s după aplicarea acestor operații.

Date de intrare

Programul citește de la tastatură cuvântul s, numărul n și cele n elemente ale șirului.

Date de ieșire

Programul va afișa pe ecran cuvântul rezultat.

Restricții și precizări

  • lungimea inițială a cuvântului este de cel mult 1000 de caractere
  • 1 ≤ n ≤ 1000
  • fiecare element al șirului dat va fi mai mic sau egal cu minimul dintre 1000 și lungimea curentă a șirului s

Exemplu

Intrare

alina
3 
4 3 2 

Ieșire

alinaalinilaal 

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema strncat:

//0 secunde
#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n,x;
    string s,ss;
    cin>>s>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        if(x%2)
        {
            ss=s.substr(0,x);
            reverse(ss.begin(),ss.end());
            s+=ss;
        }
        else
        {
            ss=s.substr(0,x);
            s+=ss;
        }
    }
    cout<<s;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #2804 strncat

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2804 strncat de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!