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

Fiind dat un șir de caractere care se află pe prima linie, să se afle lungimea medie a cuvintelor in C++.


Date de intrare:

De pe prima linie se va citi șirul.


Date de ieșire:

Pe ecran se va afișa lungimea medie a cuvintelor din text. Numărul va fi afișat cu 2 zecimale.


Restricții și precizări:

**Șirul va conține maxim 100 de caractere.

**Șirul va conține litere mari și mici precum și semne de punctuație

**Un cuvânt este definit ca o succesiune de litere aflate pe poziții consecutive

**În cazul în care șirul nu conține cuvinte, lungimea medie este 0

Exemplu:

Date de intrare Date de ieșire

ana are mere 3.33



URGENT, VA ROG!!!!!!


ricopico2002: #include
#include
#include
using namespace std;

int main()
{
char s[101];
char lista[101][101];
int poz = 0;

cin.getline(s,100);
char *word;
word = strtok(s,".,;:'?!- ");

while(word != NULL)
{
strcpy(lista[poz++],word);
word = strtok(NULL,".,;:'?!- ");
}

double nr_cuvinte = poz;
double suma = 0;

for (int i = 0; i < poz; i++)
suma += strlen(lista[i]);

cout << fixed << setprecision(2) << suma / nr_cuvinte;

}
asta e codu

Răspunsuri la întrebare

Răspuns de ricopico2002
5

Răspuns:

asta e

Explicație:

#include <iostream>

#include <iomanip>

#include <cstring>

using namespace std;

int main()

{

   char s[101];

   char lista[101][101];

   int poz = 0;

   cin.getline(s,100);

   char *word;

   word = strtok(s,".,;:'?!- ");

   while(word != NULL)

   {

       strcpy(lista[poz++],word);

       word = strtok(NULL,".,;:'?!- ");

   }

   double nr_cuvinte = poz;

   double suma = 0;

   for (int i = 0; i < poz; i++)

           suma += strlen(lista[i]);

   cout << fixed << setprecision(2) << suma / nr_cuvinte;

}

Alte întrebări interesante