| File: Stare vježbe/vjezbe04/28__broj_znakova.c /*    28__broj_znakova.c    -----    Program ucitava sa tipkovnice znak po znak, sve dok se ne ucita     znak za kraj file-a (EOF).    Pri tome broji koliko je ukupno znakova, rijeci i linija ucitano.*/  #include <stdio.h> #define UNUTAR_RIJECI   1 #define IZVAN_RIJECI    0  int main (){    char ch;    int i, status;    int broj_linija, broj_rijeci, broj_znakova, broj_znamenki[10]={0};     /* varijabla status nam govori da li se trenutno nalazimo unutar        neke rijeci ili ne */    status=IZVAN_RIJECI;    broj_linija=broj_rijeci=broj_znakova=0;     /* ucitavamo znakove sve do ne naidjemo na znak za kraj file-a */    /* (EOF, tj. Ctrl+D pod UNIX-om, Ctrl+Z pod DOS-om)            */    /* ch=getchar() --> ucitava 1 znak sa tipkovnice               */     /* (ekviv. sa scanf ("%c", &ch))                               */    /* putchar (ch) --> ispisuje znak ch na ekran                  */    /* (ekviv. sa printf ("%c", ch))                               */     while ((ch=getchar()) != EOF)    {        broj_znakova++;        if (ch >= '0' && ch <= '9') broj_znamenki[ch-'0']++;        if (ch == '\n') broj_linija++;         if (ch == ' ' || ch == '\n' || ch == '\t')            status = IZVAN_RIJECI;        else            if (status == IZVAN_RIJECI)            {                status = UNUTAR_RIJECI;                broj_rijeci++;            }    }     printf ("\nBroj pojavljivanja pojedinih znamenki:\n");    for (i=0 ; i<10 ; ++i) printf ("%d[%d] " ,  broj_znamenki[ i] , i) ;     printf("\n\nBroj linija: %d, broj rijeci: %d, broj znakova: %d\n",            broj_linija, broj_rijeci, broj_znakova);     return 0;} 
 
 |