Va rog ajutatima ,Sirul S este compus din cateva propozitii.Propozitile se termina cu punct ,semnul de exclamare sau semnul intrebarii.Elaborati un program care afiseaza pe ecran :
-numarul de propozitii din sirul de caractere introdus de la tastatura.VA ROG FOARTE MULT,IMI TREBUIE URGENT
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <string.h>
using namespace std;
char s[1000],semne[]=".!?",*p;
int nr;
int main()
{
cin.getline(s,1000); /// Se citeste secventa de text
p=strtok(s,semne); /// Folosind funtia strtok, ii vom da lui p adresa+1 unde se afla unul dintre cele 3 semne de punctuatie care marcheza finalul unui enunt
while(p!=NULL) /// Cat timp mai exista semne, atunci while-ul va functiona
{
nr++; /// Nr va creste cu 1 si reprezinta faptul ca am gasit un enunt
p=strtok(NULL,semne); /// Conditia ca while-ul sa nu se blocheze, adica sa caute semne de la stanga la dreapta pana cand nu mai gaseste niciunul
}
cout<<"Textul citit are "<<nr<<" enunturi"; /// La final, vom afisa textul dat si numar de enunturi, desi aici poti sa afisezi doar nr direct, daca nu vrei sa te mai complici cu text la afisa
return 0;
}
Explicație:
Comentariile nu trebuie sa le scrii atunci cand transcri codul. Le-am scris pentru a te face sa intelegi ce face fiecare instructiune pe rand, ca sa nu existe ambiguitati pentru tine. =)