Scrieti un program c++ care citeste de la tastature un sir de caractere format din cel mult 100 de caractere si afiseaza pe ecran lungimea maxima a unui cuvant si numarul cuvintelor de lungime maxima din sir.
exemplu: 'eu dau bacalaureat la informatica' atunci pe ecran se va afisa 11 2.
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <string>
using namespace std;
int main() {
// citim șirul de caractere
string str;
cout << "Introduceți un șir de caractere: ";
getline(cin, str);
// determinăm lungimea maximă a unui cuvânt din șir și numărul de cuvinte de lungime maximă
int max_length = 0;
int count = 0;
for (int i = 0; i < str.length(); i++) {
// căutăm începutul unui cuvânt
if (str[i] != ' ') {
int length = 0;
// numărăm câte caractere are cuvântul
while (str[i] != ' ' && i < str.length()) {
length++;
i++;
}
// dacă cuvântul are lungimea maximă, îl numărăm
if (length == max_length) {
count++;
}
// dacă cuvântul are o lungime mai mare decât cea maximă întâlnită până acum, actualizăm valorile
else if (length > max_length) {
max_length = length;
count = 1;
}
}
}
// afișăm lungimea maximă a unui cuvânt din șir și numărul de cuvinte de lungime maximă
cout << "Lungimea maximă a unui cuvânt din șir este " << max_length << endl;
cout << "Numărul de cuvinte de lungime maximă din șir este " << count << endl;
return 0;
}
Explicație: