# PBinfo #4727 – CuvintePalindrom – Rezolvare C++

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

## Enunț

Cerinţa
Să se scrie un program care citește o propoziție și care afișează cuvintele palindrom în ordine alfabetică, împreună cu numărul lor de apariții în propoziția citită.

Date de intrare
Programul citește de la tastatură o propoziție alcătuită din litere mici și spații.

Date de ieşire
Programul afișează pe ecran pe linii separate cuvintele palindrom în ordine alfabetică, împreună cu numărul lor de apariții în propoziția citită. Fiecare cuvânt și numărul de apariții se scriu separate printr-un spațiu. Dacă în propoziția citită nu există cuvinte palindrom, atunci se va afișa mesajul nu exista.

Restricţii şi precizări

propoziția va conține cel mult 255 de caractere;
cuvintele conțin doar litere mici și conțin cel mult 20 de caractere;

Exemplu:
Intrare

doi prieteni analizeaza un capac aerisirea   e ok   radar e radar 
Ieșire

aerisirea 1
capac 1
e 2
radar 2

## Cod sursă C++

```cpp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace palonrd
{
    internal class Program
    {
        static bool palindrom(string s)
        {
            for(int i=0,j=s.Length-1; i<j;i++,j--)
                if(s[i] != s[j]) return false;
            return true;
        }
        static void Main(string[] args)
        {
            string [] S = Console.ReadLine().Split(' ');
            List<string> C = new List<string>();
            foreach (string s in S)
                if(s!="" && palindrom(s)) C.Add(s);
            if (C.Count == 0) Console.WriteLine("nu exista");
            else
            {
                C.Sort();
                int l = 1;
                for (int i = 0; i < C.Count - 1; i++)
                    if (C[i] == C[i + 1]) l++;
                    else
                    {
                        Console.WriteLine(C[i] + " " + l);
                        l = 1;
                    }
                Console.WriteLine(C[C.Count - 1] + " " + l);
            }
            Console.ReadKey();
        }
    }
}
```

## Resurse

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