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 vizitat 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, vă rugăm să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la lista de favorite!