Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int dlugosc(char*tekst);
- int sprawdz(char*tekst, char*wzor);
- int* sprawdz_w(char*tekst, char*wzor, int*ilosc);
- int main()
- {
- char tekst[100];
- char wzor[100];
- int ilosc;
- int dlugosct;
- int dlugoscw;
- int repeat = 1;
- int wynik;
- int *tab = NULL;
- printf("Witaj\n Podaj tekst do sprawdzenia:\n");
- fflush(stdin);
- scanf("%99[^\n]s", tekst);
- printf("\n Podaj wzor do wyszukania:\n");
- fflush(stdin);
- scanf("%99[^\n]s", wzor);
- dlugosct = dlugosc(tekst);
- dlugoscw = dlugosc(wzor);
- wynik = sprawdz(tekst,wzor);
- if(wynik<0) printf("W podanym tekscie niestety nie ma wpisanej frazy");
- else tab = sprawdz_w(tekst, wzor, &ilosc);
- printf("\n%d", ilosc);
- getch();
- }
- int dlugosc(char*tekst)
- {
- int i =0;
- while(tekst[i]!='\0')
- {
- i++;
- };
- return i;
- }
- int sprawdz(char*tekst,char*wzor)
- {
- int i,j,JestWzorzec=0,dlugoscTekst,dlugoscWzor;
- dlugoscTekst=dlugosc(tekst);
- dlugoscWzor=dlugosc(wzor);
- for (i=0;i<dlugoscTekst -dlugoscWzor +1;i++)
- {
- if(*(tekst+i)==*(wzor))
- {
- for (j=1;j<dlugoscWzor;j++)
- {
- if (*(tekst+i+j)!=*(wzor+j))
- {
- JestWzorzec=0;
- break;
- }
- JestWzorzec=1;
- }
- if(JestWzorzec==1)
- {
- return i;
- }
- }
- };
- return -1;
- }
- int* sprawdz_w(char*tekst, char*wzor, int*ilosc)
- {
- int i,j,JestWzorzec=0,dlugoscTekst,dlugoscWzor, ile;
- int *tab = NULL;
- dlugoscTekst=dlugosc(tekst);
- dlugoscWzor=dlugosc(wzor);
- printf("\nIndeksy kolejnych wzorcow: ");
- ile=0;
- for (i=0;i<dlugoscTekst -dlugoscWzor +1;i++)
- {
- if(*(tekst+i)==*(wzor))
- {
- for (j=1;j<dlugoscWzor;j++)
- {
- if (*(tekst+i+j)!=*(wzor+j))
- {
- JestWzorzec=0;
- break;
- }
- JestWzorzec=1;
- }
- if(JestWzorzec==1)
- {
- ile=ile+1;
- printf("%d, ", i);
- tab = (int*) realloc(tab, sizeof(int)*ile);
- tab[ile-1] = i;
- }
- }
- };
- *ilosc = ile;
- return tab;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement