# PBinfo #12 – initiale – Rezolvare C++

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

## Enunț

Se dă un şir de caractere reprezentând o propoziţie formată din litere mici ale alfabetului englez şi spaţii.

Cerinţa
Transformaţi şirul dat astfel încât prima şi ultima literă a fiecărui cuvânt să fie înlocuite cu litera mare corespunzătoare.

Date de intrare
Programul citeşte de la tastatură propoziţia dată.

Date de ieşire
Programul afişează pe ecran propoziţia transformată.

Restricţii şi precizări

şirul de caractere citit conţine cel mult 255 de caractere

Exemplu:
Intrare

mare frig   rosu
Ieșire

MarE FriG   RosU

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
    char carac[256];
    cin.getline(carac, 256);
    int i = 0;
    while (carac[i]!='\0') {
        if (i == 0 || ((int)carac[i - 1] == 32 || (int)carac[i + 1] == 32) && ((int)carac[i] >= 97 && (int)carac[i] <= 122) || (carac[i + 1] == '\0')) {
            int nr = (int)carac[i] - 32;
            cout << (char)nr;
        } else cout << carac[i];
        i++;
    } return 0;
}
```

## Resurse

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