/* a) Prvi argument komandne linije programa je ime datoteke, a drugi broj n. Napisati program koji na standardni izlaz ispisuje koliko n-tocifrenih brojeva postoji u datoteci. b) Prvi argument komandne linije programa je ime datoteke, a drugi broj n. Napisati program koji na standardni izlaz ispisuje koliko u datoteci postoji reci koje se sastoje od tacno n slova engleskog alfabeta. */ #include #include int main(int argc, char** argv) { int n; FILE* f; int c; int br_ntocifrenih = 0; int br_cifara = 0; int br_nreci = 0; int br_slova = 0; if(argc<3) { fprintf(stderr, "Nedovoljan broj argumenata komandne linije\n"); exit(EXIT_FAILURE); } if((f=fopen(argv[1],"r"))==NULL){ fprintf(stderr, "Neuspesno otvaranje datoteke\n"); exit(EXIT_FAILURE); } n = atoi(argv[2]); while((c=fgetc(f))!=EOF) { if(c>'0' && c<='9') { br_cifara = 1; while((c=fgetc(f))!=EOF && c>='0' && c<='9') br_cifara++; if(br_cifara == n) br_ntocifrenih++; } } printf("Ukupan broj brojeva %d\n", br_ntocifrenih); rewind(f); while((c=fgetc(f))!=EOF) { if(isalpha(c)) //(c>='a' && c<='z') || (c>='A' && c<='Z') { br_slova = 1; while((c=fgetc(f))!=EOF && c!=' ' && c!='\t' && c!='\n') if(isalpha(c)) br_slova++; if(br_slova == n) br_nreci++; } } printf("Ukupan broj reci %d\n", br_nreci); fclose(f); return 0; }