#include #include #include int main() { char *u, *u1, *u2, *mem, *bible, *a; printf("\n Zacatek programu:\n"); mem = malloc(5000000); //alokuje pamet 5 000 000 bitu bible = mem; while (scanf("%c", bible) ==1) //naskenuje bibli a zapise ji do pameti bible++; bible = mem; while (1) { u = strstr(bible, "God"); //najde kde se vyskytuje slovo God u1 = u; u2 = u; bible=u+1; //posune pointer za slovo God if (u==NULL) { break; //pokud ve vete neni slovo God, spusti se break } while (*u1!=10) { u1--; //presune pointer na zacatek vety (10 v ASCII je tzv Newline) } u1++; while (*u2!='.'){ //presune pointer na konec vety u2++; } a = (char *)malloc((u2 - u1 + 2) * sizeof(char)); //alokuje pamet a pro vety, kde je slovo God strncpy(a,u1,u2-u1+1); //kopiruje vetu ze stringu do pameti a a[u2-u1+1]='\0'; //rika odkud kam dosahuje ta veta (zacina pointrem u1 a konci u2) printf("\n %s \n", a); //vytiskne vetu se slovem God free(a); //uvolni pamet a } printf("\n Konec Programu \n"); free(mem); return 0; }