Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Broj reci u datoteci

[es] :: C/C++ programiranje :: C/C++ za početnike :: Broj reci u datoteci

[ Pregleda: 1732 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

lancha131
Student

Član broj: 275077
Poruke: 10
*.adsl.verat.net.



Profil

icon Broj reci u datoteci24.12.2010. u 17:43 - pre 147 meseci
Ekipa poz svima...imam jednu nedoumicu kako se barata sa ucitavanjem podataka U c iz datoteka....treba da napisem program koji ce mi prebrojati koliko ima reci u datoteci...datoteka se naravno nalazi kao txt fajl ....e sad.....kriterijum prekida jedne reci,a pocetka druge je sledeci...reci se sastoje samo od velikih i malih slova i brojeva,sve ostalo se racuna kao prekid....malo me buni kako bi ucitao sve,ako je npr u datoteci stih neke pesme,dakle ima novih redova....moze li neki dobar kod,pls :D
 
Odgovor na temu

enaB
Beograd

Član broj: 59951
Poruke: 397
*.dynamic.sbb.rs.

ICQ: 276002814


+9 Profil

icon Re: Broj reci u datoteci25.12.2010. u 09:10 - pre 147 meseci
Možeš sa funkcijom fgetc() da uzimaš karakter po karakter i proveravaš da li je slovo ili broj, pa ako nije onda je prekid tj. uvecavas broj reci. Proveravanje može sa funkcijom isalnum() (ako ste je učili, da ne bude sumnjivo :))

Code:
if(!isalnum(c))


ili recimo ovako

Code:
if(!(c>='0' && c<='9') && !(c>='a' && c<='z') && !(c>='A' && c<='Z'))

ili
Code:
if((c<'0' || c>'9') && (c<'a' || c>'z') && (c<'A' || c>'Z'))
 
Odgovor na temu

lancha131
Student

Član broj: 275077
Poruke: 10
*.aDSL.Verat.Net.



Profil

icon Re: Broj reci u datoteci27.12.2010. u 17:44 - pre 147 meseci
hm..ovaj isalnum je interesantna stvar,nazalost ,slabo se sta radi na casu,tako da se podrazumeva da sam malo cackam po literaturi ,pa nadjem neku korisnu funkciju...to je ok
samo ovakav algoritam ce biti problem....prosto ako posle jednog blanka ne naidje alfanum karakter nego jos jedan blanko,on ce opet uvecati brojac reci...to razmisljam sad kako da izolujem....inace za ovakvu varijaNTU sam se opredelio
while ((c = fgetc(pf)) != EOF) //za ucitavanje iz datoteke se kkoristim fgetc.....
if (!isalnum(c)) reci++
 
Odgovor na temu

enaB
Beograd

Član broj: 59951
Poruke: 397
*.dynamic.sbb.rs.

ICQ: 276002814


+9 Profil

icon Re: Broj reci u datoteci29.12.2010. u 15:18 - pre 147 meseci
Hm, da. Možda da ubaciš neki indikator koji se "setuje" na prekid a resetuje i inkrementira broj reči na prvi alfanum posle prekida. Ovako nešto


Code:
char ind=1;
while ((c = fgetc(pf)) != EOF) {
    if(ind && isalnum(c)) {
          reci++;
          ind=0;
    }
    if(!isalnum(c))
         ind=1;
}
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Broj reci u datoteci

[ Pregleda: 1732 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.