[ arandjel88 @ 10.05.2008. 18:50 ] @
kako da u C pr.jeziku napravim program za brojanje rijeci u stringu bez koristenja ikakvih biblioteka osim <stdio.h> <string.h> <ctype.h> a rijec je definisana samo kao niz velikih ili malih slova bez cifara Treba mi odgovor sto prije evo koda Code: #include <stdio.h> #include <string.h> #include<ctype.h> #define MAX 300 int broj_rijeci(char s[]); int broj_recenica(char s[]); void zbijanje(char s[]); main() { unsigned rijec=0,recenica=0; char s[MAX]; printf("\n\n\t\tUnesite string:\n\n\t\tstring="); gets(s); printf("\n\n\t\t"); zbijanje(s); puts(s); rijec=broj_rijeci(s); recenica=broj_recenica(s); printf("\n\n\t\tBroj rijeci je %d",rijec); printf("\n\n\t\tBroj recenica je %d\n\n\t\t",recenica); puts(s); } int broj_rijeci(char *s) { int br=0,i,j,k; j=0; k=strlen(s); for (i=0;i<k;i+=j+1) { j=i; if (isupper(s[j])==0&&islower(s[j])==0)break; while (1) { while (isupper(s[j])!=0||islower(s[j])!=0)j++; break; } br++; } return br+1; } int broj_recenica(char *s) { int br=0,i,j,k; k=strlen(s); for (i=0;i<k;i++)if ((s[i]=='.'||s[i]=='?'||s[i]=='!')&&(isupper(s[i+1])||s[i+1]=='\0'))br++;/*ovo issupper pita da li je veliko slovo*/ return br; } void zbijanje(char *s) { int i=0,j; while (s[i]!='\0') { while (s[i]!=' '&&s[i]!='\0')i++; if (s[i]!='\0') { if (s[i+1]!=' ')i++; else { j=i; while (s[j]!='\0')s[j]=s[j+1],j++; } } } } [Ovu poruku je menjao arandjel88 dana 10.05.2008. u 21:56 GMT+1] [Ovu poruku je menjao X Files dana 16.09.2008. u 13:56 GMT+1] |