Ma puteti ajuta va rog? Nu stiu de ce primesc WA la 3 teste (printre care si primul)
Ideea mea este relativ simpla, citesc caracter cu caracter, daca gasesc o litera si inainte era simbol am gasit un cuvant nou, daca nu, creste doar nr de litere.
Codul este urmatorul
Cod:
#include <fstream>
#include <string.h>
using namespace std;
ifstream f ("text.in");
ofstream g ("text.out");
int main(){
char x; int ok = 0, lungime = 0, cuvinte = 0;
while (f >> noskipws >> x){
if (!isalpha(x)){
ok = 1;
}
else if (isalpha(x)){
lungime++;
if (ok){
cuvinte++;
ok = 0;
}
}
}
if (cuvinte > 0)
g << lungime/cuvinte;
else g << "0";
f.close();
g.close();
}
LE: Acum ca ma gandesc, cred ca problema e ca textul poate fi pe mai multe linii si programul meu se opreste la primul rand. In acest sens problema poate fi rezolvata cu stream si citit caracter cu caracter, sau trebuie cu get sa memorez toate caracterele intr-un char[] ?