Informatică, întrebare adresată de hello0world, 8 ani în urmă

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 de mariusmihit10
0

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:

Alte întrebări interesante