fbpx

Problema #799 – EliminareLitera – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Să se scrie un program care citește un șir de caractere în care cuvintele sunt formate numai din litere mici ale alfabetului englez și sunt separate prin câte un spațiu și elimină litera din mijloc a fiecărui cuvânt cu număr impar de litere (cel puțin trei).

Date de intrare

Programul citește de la tastatură un șir de cel mult 100 caractere.

Date de ieşire

Programul afișează pe ecran textul obţinut, iar dacă nu există niciun cuvânt modificat, afișează pe ecran mesajul nu exista.

Exemplu

Intrare

pictura prin aceea arata o pace profunda

Ieșire

picura prin acea arta o pace profunda
#include <bits/stdc++.h>
using namespace std;

int main()
{
    char ch[300];
    cin.getline(ch , 300);
    int i = 0;
    int ok=0;
    int c=0;
    int cnt=0;
    while(ch[i]!='\0')
    {
        if(ch[i]==' ')
        {
            if(cnt%2==1 && cnt > 2)
            {
                c++;
            }
            cnt=0;
        }
        else
            cnt++;
        i++;
        if(ch[i]=='\0' && ok==0)
        {
            ch[i]=' ' , ch[i+1]='\0' , ok++;
        }
    }
    if(c)
    {
        i=0;
        while(ch[i]!='\0')
        {
            if(ch[i]==' ')
            {
                if(cnt%2==1 && cnt > 2)
                {
                    i-=cnt;
                    int mij = i + cnt/2;
                    while(ch[i]!=' ')
                    {
                        if(i!=mij)
                            cout << ch[i];
                        i++;
                    }
                    cout << ' ';
                }
                else
                {
                    i-=cnt;
                    while(ch[i]!=' ')
                    {
                        cout << ch[i];
                        i++;
                    }
                    cout << ' ';
                }
                cnt=0;
            }
            else
                cnt++;
            i++;
        }
    }
    else
        cout << "nu exista";
    return 0;
}
Comentarii

S-ar putea sa iti placa