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!!!!!!
Răspunsuri la întrebare
Răspuns de
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
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
#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