Code:
//ulaz u funkciju je pokazivac na polje charova, ilitiga string
int wordcount(char *str)
{
//deklariramo dva brojaca, i za poziciju u stringu, i count, za kolicinu rijeci
int i = 0, count = 0;
//glavna petlja se vrti sve dok je brojac pozicije u recenici manji od
//ukupne kolicine znakova u recenici
do
{
//odmah na pocetku petlje provjeravamo da li je trenutni znak prazno polje
//i uvecavamo brojac sve dok ne dodjemo do nekog znaka. ovo eliminira
//mogucnost da netko upise recenicu sa razmacima odmah na pocetku
while(str[i] == ' ') i++;
//provjeravamo da li je trenutacni znak razlicit od praznog polja, ili od
//terminacijskog znaka \0. na terminacijski znak ne treba paziti u BASICU.
if (str[i] != ' ' && str[i] != '\0')
{
//ako je trenutni znak razlicit od praznog polja, znaci da smo dosli
//na pocetak rijeci. tada inkrementiramo varijablu count, i sve dok je
//znak pod brojacem bilo koji znak osim praznog mjesta, inkrementiramo
//brojac, tako da nam opet dodje na kraju na prvo slijedece prazno
//mjesto iza rijeci
count++;
while(str[i] != ' ') i++;
}
}while (i < strlen(str));
//vracamo iz funkcije broj rijeci
return count;
}
dakle to je program u c-u. poanta svega je da ne brojis razmake, da bi dobila rijeci, nego brojis rijeci direktno. znaci krenes od pocetka recenice. od pocetka vrtis petlju koja ce pomicat brojac sve dok ne naidje na prvi znak (znak razlicit od praznog mjesta). ta petlja se ne mora zavrtjet ni jednom - ona je tu samo da smo sigurni da netko ko upise recimo 5 spaceova odma na pocetku recenice i onda tek prvu rijec, dobije i dalje tocan broj rijeci. nakon toga provjeravamo jeli znak u recenici na koji pokazuje brojac razlicit od praznog. ako je, ulazimo u "if" petlju, i dobili smo pocetak rijeci. onda uvecavamo vrijednost count brojaca za jedan, a nakon toga uvecavajuci nas brojac znakova sve dok on pokazuje na znak, a ne na prazno, dolazimo do prvog praznog mjesta iza rijeci. i onda sve ispocetka. ukratko - naletis na prvi znak u rijeci, dignes brojac rijeci za jedan, i onda provrtis brojac znakova sve do kraja rijeci. i tako koliko god je duga recenica.
sad kad znas kako, isprogramiraj, ili nadji nekog ko ti moze ovo iz c-a prevest u BASIC, jer ja nisam otvorio qb zadnjih 7 godina.
p.s zar ovo spada u "art of programming"
Q: HSP56 Micromodem nece da radi kompjuter ga prepozna a kad treba da se konektujem nece ne daje ni znaka zivota. u cemu je problem.
A: Crko mozda od grmljavine mozda od spanaca. Uglavnom baci ga u WC solju jako povuci vodu. Skupi 5e i uzmi drugi i ne postuj temu na pogresno mesto.