# PBinfo #2673 – SwapCuv – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: Darius

## Enunț

Cerința
Se dă un şir de caractere care conține cuvinte formate din litere mici și mari ale alfabetului englez. Cuvintele sunt separate prin orice caractere imprimabile care nu sunt litere (cu codurile ASCII mai mari sau egale cu 32). Să se afișeze cuvintele pe cate o linie în felul următor:

Primul
Ultimul
Al Doilea
Penultimul
...
Date de intrare
Programul citește de la tastatură șirul dat.

Date de ieșire
Programul va afișa pe ecran cate o linie cuvintele în funcție de cerintă.

Restricții și precizări

propoziția va conține cel mult 255 de caractere.

Exemplu:
Intrare

divide and conquer / devide et impera.
Ieșire

divide
impera
and
et
conquer
devide

## Cod sursă C++

```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    getline(cin,s);
    istringstream buffer(s);
    vector<string> v;
    for(string word; buffer>>word;)
    {
        s=word;
        for(int i=0; i<s.length(); i++)
            if(isalpha(s[i])==0)
                s.erase(s.begin()+i),i--;
        if(s!="")
            v.push_back(s);
    }
    for(int i=0,j=v.size()-1; i<j; i++,j--)
        cout<<v[i]<<'\n'<<v[j]<<'\n';
    if(v.size()%2)
        cout<<v[v.size()/2];
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/2673)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/2673/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-2673/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
