Răspuns :
Răspuns:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int chr=0, cuv=1, lit=0;
string n;
getline(cin,n);
for(chr=0;chr<n.length();chr++)
{
if(n[chr]==' ')
{
cuv++;
}
if(n[chr]=='A' || n[chr]=='a')
{
lit++;
}
}
cout<<chr<<" "<<cuv<<" "<<lit<<endl;
}
Explicație:
Initializezi valori pentru fiecare variablia ( chr - numarul de caractere, cuv - numarul de cuvinte, lit - numarul de liter). (cuv incepe de la 1, deoarece algoritmul ia in considerare ' ' (spatiu) ca fiind sfarsit de cuvant, prin urmare primul cuvant nu este luat in considerare).
Se citeste sirul de charactere (string este acelasi lucru cu vector de caractere "string = char[]") cu ajutorul comenzi getline(cin, n), cu "cin" vei putea lua doar primul cuvant, pana la " ", cu getline(cin,n), poti lua propoziti cu spatiu.
Parcurgi propozitia litera cu litera, chr stocheaza numarul de litere, apoi verifici daca litera curenta este " ", atunci un cuvant nou este format sau daca litera curenta este "a" sau "A", cresti cu 1 valoarea variabilei lit.
In final afisezi rezultatul.
Pot exista mai multe probleme referitoare la acest exercitiu. Daca nimic nu este introdus, cuvintele afistate vor fi tot 1, iar daca " " este introdus incontinu, vor fi numarate cuvinte ce nu exista , EX: a b, va afisa 5, fiind incorect.
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!