# PBinfo #101 – sortarecuvinte – Rezolvare C++

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

## Enunț

Cerinţa
Să se scrie un program care citește o propoziţie şi afişează cuvintele din propoziţie ordonate alfabetic.

Date de intrare
Fișierul de intrare sortcuv.in conține pe prima linie o propoziție alcătuită din litere mici ale alfabetului englez și spații.

Date de ieşire
Fișierul de ieșire sortcuv.out va conține cuvintele din propoziție, ordonate alfabetic, fiecare pe câte o linie.

Restricţii şi precizări

propoziția va conține cel mult 250 de caractere;
fiecare cuvânt din propoziție are cel mult 20 litere

Exemplu:
sortcuv.in

dreptunghiul este un paralelogram cu un unghi drept
sortcuv.out

cu
drept
dreptunghiul
este
paralelogram
un
un
unghi

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("sortcuv.in");
ofstream out("sortcuv.out");
int main() {
    char text[251], cuv[200][21], *temp;
    int n = 0;
    in.getline(text,251);
    temp = strtok(text, " ");
    while (temp) {
        strcpy(cuv[n++], temp);
        temp = strtok(NULL, " ");
    }
    for (int i = 0; i < n ; i++)
        for (int j = i + 1; j < n; j++)
            if (strcmp(cuv[i], cuv[j]) > 0){
                char cuvtmp[21];
                strcpy(cuvtmp, cuv[i]);
                strcpy(cuv[i], cuv[j]);
                strcpy(cuv[j], cuvtmp);
            }
    for (int i = 0; i < n; i++) out << cuv[i] << endl;
    return 0;
}
```

## Resurse

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