# PBinfo #2997 – prescurtat – Rezolvare C++

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

## Enunț

Cerința
Scrieți funcția cu următorul antet:

void Prescurtat(char s[])
Funcția primește ca parametru un text de cel mult 50 de caractere, alcătuit din cuvinte separate prin câte un spațiu și formate din litere mari ale alfabetului englez, urmate eventual de caracterul . (punct), dacă sunt scrise prescurtat. Textul reprezintă numele unei instituții de învățământ și doar cuvintele din mulțimea {COLEGIUL, LICEUL, NATIONAL, TEORETIC} pot fi prescurtate, eliminându-se ultimele lor litere. Funcția va returna tot prin intermediul parametrului s numele instituției scris fără prescurtări.

Exemplu
Dacă s memorează inițial COLEG. NAT. DE INFORMATICA, atunci după apelul Prescurtat(s), șirul va deveni COLEGIUL NATIONAL DE INFORMATICA.

Restricții și precizări

Lungimea inițială a șirului s va fi de cel mult 50, iar la final de cel mult 100.
Puteți utiliza funcțiile pentru șirurile de caractere din biblioteca cstring

## Cod sursă C++

```cpp
void Prescurtat(char s[])
{
    char cuv[105], t[105], *p, sep[] = " ";
    int n;
    t[0] = 0;
    p = strtok(s, sep);
    while (p != NULL)
    {
        strcpy(cuv, p);
        n = strlen(cuv);
        if (cuv[n - 1] == '.')
        {
            if (cuv[0] == 'C') strcpy(cuv, "COLEGIUL");
            if (cuv[0] == 'L') strcpy(cuv, "LICEUL");
            if (cuv[0] == 'N') strcpy(cuv, "NATIONAL");
            if (cuv[0] == 'T') strcpy(cuv, "TEORETIC");
        }
        strcat(t, cuv);
        strcat(t, " ");
        p = strtok(NULL, sep);
    }
    n = strlen(t);
    while (t[n - 1] == ' ')
    {
        t[n - 1] = 0;
        n--;
    }
    strcpy(s, t);
}
```

## Resurse

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