/* Ucitati n kao broj znakova u recenici. Ucitati takvu recenicu, te zatim * ispisati broj pojavljivanja rijeci u recenici. Recenica moze imati * maksimalno 80 znakova */ /* (c) Dinko `kreator' Korunic, 2001 AD To my dear love Mia */ #include #include int main(void) { char recenica[80+1]; int n, i, j, ucestalost; printf("Unesi max broj znakova u recenici: "); /* ucitaj jedan broj i ignoriraj tab, space ili newline iza broja */ scanf("%d%*c", &n); printf("Unesi recenicu: "); /* od i do n puta .. */ for (i = 0; i < n; ++i) { /* .. ucitavaj znak po znak */ if (scanf("%c", &recenica[i]) < 1) { /* nastupila je greska i ne mogu vise citati! */ n = i; break; } } /* ispravno terminiraj recenicu */ recenica[n] = 0; /* ispisi recenicu */ printf("Ucitana recenica: \"%s\"\n", recenica); /* sortiraj po ucestalosti svaki znak u vektoru */ for (i = 0; i < n; ++i) /* ako je tekuci znak ne-nula .. */ if (recenica[i]) { /* .. onda je ucestalost sigurno jedan :-) */ ucestalost = 1; /* te od slijedeceg znaka do kraja vektora .. */ for (j = i + 1; j < n; ++j) /* .. provjeri da li je jednak tekucem */ if (recenica[i] == recenica[j]) { /* ako je, obrisi ga .. */ recenica[j] = 0; /* .. i povecaj ucestalost */ ++ucestalost; } /* te ga ispisi */ printf("Za znak '%c' je ucestalost %d puta\n", recenica[i], ucestalost); } return EXIT_SUCCESS; }