Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Да се напише програма која ќе ги пронаоѓа сите зборови кои истовремено почнуваат и завршуваат на дадена буква во датотеката со име „zborovi.txt“. Во првиот ред на оваа датотека е запишана само бараната буква. Програмата треба да ги ископира сите вакви зборови на стандарден излез, пришто мора да е запазен редоследот на редовите (зборовите кои се наоѓале во вториот ред на „zborovi.txt“ треба да бидат ископирани во првиот ред на излезот, зборовите од третиот ред да бидат ископирани во вториот ред на излезот, итн.). Меѓу секои два збора мора да има точно едно празно место. На крај, во нов ред да се испечати и бројот на сите ископирани зборови. Да се претпостави дека зборовите во датотеката „zborovi.txt“ се составени од алфанумерички знаци и се меѓусебно разделени со еден или повеќе специјални знаци/празни места. Максималниот број на знаци во еден ред е 100. Забелешка. После последниот збор во секој ред да се отпечати точно едно празно место.
- SAMPLE INPUT:
- a
- ama zoshto ama kako, nema ama!!
- ana saka da bide kako sestra i' ana.
- eh taa ana...
- SAMPLE OUTPUT:
- ama ama ama
- ana ana
- ana
- 6
- */
- #include <stdio.h>
- #include <ctype.h>
- void wtf() {
- FILE *f = fopen("zborovi.txt", "w");
- char c;
- while((c = getchar()) != EOF) {
- fputc(c, f);
- }
- fclose(f);
- }
- int main() {
- wtf();
- int iw = 0, counter = 0, i = 0;
- char c, zbor[20];
- FILE *dat = fopen("zborovi.txt", "r");
- char bukva = fgetc(dat);
- while ((c = fgetc(dat)) != EOF) {
- if (isalnum(c)) {
- iw = 1;
- zbor[i] = c;
- i++;
- }
- else {
- zbor[i] = '\0';
- if (iw) {
- if (bukva == zbor[0]&&bukva == zbor[i-1]) {
- counter++;
- printf("%s ", zbor);
- }
- }
- i = 0;
- iw = 0;
- }
- if (c=='\n')
- printf("\n");
- }
- printf("%d", counter);
- fclose(dat);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement