👤

Se citeste de la tastatura un text dat care contine mai multe propozitii.Cuvintele textului sunt separate prin:spatiu, virgula sau punct.Să se numere câte propoziţii conţine textul, iar fiecare propoziţie, câte cuvinte are.Va multumesc frumos!

Răspuns :

#include <iostream>
#include <cstring>
using namespace std;
int nrCuv[10005],nrProp,nrC;
char s[10005];
int main()
{
    cin.get(s,10000);
    int n=strlen(s);
    for (int i=1;i<=n;i++)
    {
        if ((s[i]==' ' && s[i-1]!='.' && s[i-1]!=',') || s[i]==',' || s[i]=='.')
            nrC++;
        if (s[i]=='.')
        {
            nrProp++;
            nrCuv[nrProp]=nrC;
            nrC=0;
        }
    }
    cout<<"Sunt "<<nrProp<<" propozitii"<<'\n';
    for (int i=1;i<=nrProp;i++)
        cout<<"Propozitia "<<i<<" are "<<nrCuv[i]<<" cuvinte."<<'\n';
    return 0;
}
Codul asta merge pentru un text de forma: "Ana are mere, dar nu are pere. Daca Maria ii da pere, Ana acum are si mere si pere." Adica, virgula este lipita de ultimul cuvant si are spatiu dupa, iar punctul lipit de ultimul cuvant cu spatiu dupa.

Vă mulțumim pentru vizita pe platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Așteptăm cu entuziasm să reveniți și vă invităm să ne adăugați la lista de favorite!


Viz Lesson: Alte intrebari