Am nevoie de ajutor..nu prea sunt priceput in c++.
Am de facut un program care .. sa numara cuvinte dintr-un fisier text..
Puteti sa-l faceti cap-coada..plss .. raman dator..
Început de adytzul89, Joi 1 iul 2010 · 3 răspunsuri · 4.116 vizualizări
Am nevoie de ajutor..nu prea sunt priceput in c++.
Am de facut un program care .. sa numara cuvinte dintr-un fisier text..
Puteti sa-l faceti cap-coada..plss .. raman dator..
Nimeni nu o sa iti faca programul aici, eventual te ajutam. Poti incepe cu o implementare puerila si apoi sa o adaptezi: deschizi fisierul si numeri doar spatiile fara sa tii cont de nici un caz particular..
codul este urmator:
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
using namespace std;
int main()
{
ifstream is("c:\\text.txt");
vector<string> v;
string r;
string s;
while(!is.eof())
{
getline(is , r);
stringstream stream;
stream << r;
if(r.empty() == false)
{
while(getline(stream , s , ' '))
{
v.push_back(s);
}
}
dar
cout << v.size() << endl;
}
}
dar tot nu imi dau seama ce e gresit ca imi afiseaza doar 0, cand e fisierul text gol deci e bine dar cand fisierul este scris de mai multe cuvinte imi afiseaza doar 3 :-s ..
Trebuie sa rulezi in debug si sa avansezi pas cu pas, sa vezi ce se intampla. Pe de alta parte separatorul poate fi spatiu tab enter . , ? ! ; : Trebuie sa tratezi cazurile particulare in care le ai consecutive