Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int dlugosc(char *lan);
- int sprawdz(char *tekst, char *wzor);
- int*sprawdz_w(char *tekst, char *wzor,int *ilosc);
- main()
- {
- char nazwa[99];
- char wzor[5];
- int i=0;
- int ilosc=0;
- printf("Podaj dowlony lancuch\n");
- gets(nazwa);
- //scanf("%98[^\n]s",&nazwa);
- printf("Podaj wzor\n");
- gets(wzor);
- //scanf("%49[^\n]s",&wzor);
- i=sprawdz(nazwa,wzor);
- printf("\nWynik funkcji sprawdz to: %i",i);
- sprawdz_w(nazwa,wzor,&ilosc);
- printf("\nIlosc to: %i", ilosc);
- system("pause");
- return 0;
- }
- int dlugosc(char *lan)
- {
- int i=0;
- while(*(lan+i)!='\0')
- {
- i++;
- }
- return i;
- }
- int sprawdz(char *tekst, char *wzor)
- {
- int i=0;
- int j=0;
- int k=0;
- int y=dlugosc(wzor);
- for(i=0;i<dlugosc(tekst);i++)
- {
- if(tekst[i]==wzor[j])
- {
- for(k=1;k<y;k++)
- {
- if(tekst[i+k]!=wzor[k]) break;
- }
- if (k==y)
- return i;
- }
- }
- }
- int* sprawdz_w(char *tekst, char *wzor, int *ilosc)
- {
- int i=0;
- int j=0;
- int k=0;
- int m=dlugosc(wzor);
- int n=dlugosc(tekst);
- int *tab=NULL;
- tab=(int*)malloc(0*sizeof(int));
- for(i=0; i<n;i++)
- {
- for(j=0;j<m;j++)
- {
- if(tekst[i+j]!=wzor[j]) break;
- }
- if(j==m);
- {
- tab=(int*)realloc(tab,(k+1)*sizeof(int));
- *(tab+k)=1;
- k++;
- }
- }
- *ilosc=k;
- printf("\n\n\n Tablica: ");
- for(i=0;i<k;i++)
- {
- printf("\n%i - %i",i,*(tab+i));
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment