[ ibro @ 10.12.2004. 11:23 ] @
| treba da napravim program koji ce prebrojati sve rijeci nekog file i izbaciti rezultat.
kako bih to mogao da uradim.
ja sam ovako kontao. prije svega trabam da kopiram neki file, kopirao sam ga. onda sa funkcijom
Code:
fscanf(izlaz, "%s", rijec);
skeniram rijeci. s tim da mi je izlaz pointer na file koji kopiram. a rijec mi je string.
ah sad uzmem da je neki znak , recimo
Code:
ch = fscanf (infile, "%s", wort) ;
i onda da sa while petljom pnavljam dok ch != EOF
a kako sad da izbrojim rijeci.
da li bih moga to da uradim tako sto cu brojati prazne prostore.
hvala
|
[ mower from ... @ 10.12.2004. 21:56 ] @
Mozes da probas ovako
Code:
while(ch!=EOF)
{
if(ch==' ' || ch=='.' || ch==',')
broj_reci++;
ch=fgetc(infile);
}
[ Dejan Lozanovic @ 11.12.2004. 14:06 ] @
Pa ne bi mogao da brojis preko razmaka iz prostog razloga pogledaj ovaj string
"kontra. . . . . . test" (ubacene . namerno da bi se videlo vise razmaka ).
inace ukoliko je cisti C u pitanju a pocetni string ne moras da cuvas mozes da koristis strtok, napomena ova funkcija ce menjati originalni string. Pa ukoliko ti originalni string treba prvo napravis kopiju.
Predonst strtok-a u odnosu na scanf grupu funkcija je taj sto ti dozvoljava da sam odredis koji su to karakteri koji vrse deljenje izmedju dva tokena.
[ ibro @ 12.12.2004. 10:21 ] @
Da li bi mi mogao malo detaljnije objsnit kako se koristi ta funkcija.
a je li vazno ako neku varijablu deklarisemo prvu ili drugu. i da li to moze imati uticaja na tok programa
[ leka @ 12.12.2004. 15:35 ] @
ibro, za pocetak pocni od sledeceg programa:
Code:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word; // ulazni bafer za reci.
int cnt = 0;
//--- Citaj reci/tokens iz ulazne struje
while (cin >> word)
{
cnt++;
}
cout << "Broj reci/tokena: " << cnt << endl;
return 0;
} // main() function
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.