#include<stdio.h>
#include<stdlib.h>
int* wyszukajIndeksZnaku(char* t, char k, int* ilosc);
char* wyszukajWyrazOdZnaku(char* t, char k,int* dlugosclan);
int main()
{
char tab[50];
char k;
int* index=NULL;
char* tabwyrazow=NULL;
int ili=0;
int dlugosclan=0;
int i;
fflush(stdin);
printf("\n Wpisz lancuch ponizej : ");
fflush(stdin);
fgets (tab, 50, stdin);
printf("\nOto lancuch, ktory tak uprzejmie zadeklarowales:\n %s",tab);
printf("\nPodaj znak jaki chcesz wyszukac:");
fflush(stdin);
k=getchar();
printf("\nWyszukiwany przez Ciebie znak to:%c",k);
index=wyszukajIndeksZnaku(tab,k,&ili);
printf("\nIndeksy miejsc, na ktorych znajduje sie poszukiwany znak:");
for(i=0;i<ili;i++)
{printf(" %d ",*(index+i));
}
printf("\nIlosc poszukiwanych znakow w lancuchu: %d",ili);
tabwyrazow=wyszukajWyrazOdZnaku(tab,k,&dlugosclan);
printf("\nWyrazy zaczynajace sie na dany znak: ");
for(i=0;i<dlugosclan;i++)
{printf("%c",*(tabwyrazow+i));
}
}
int* wyszukajIndeksZnaku(char* t, char k,int* ilosc)
{
int i=0,j=0;
int *p=NULL;
p=(int*)malloc((j+1)*sizeof(int));
for(i=0;*(t+i)!='\0';i++){
if(*(t+i)==k){
*(p+j)=i;
j++;
p=(int*)realloc(p,(j+1)*sizeof(int));
*ilosc=*ilosc+1;
}
}
return p;
}
char* wyszukajWyrazOdZnaku(char* t, char k, int* dlugosclan)
{ int i,j=0,h;
char* p=NULL;
p=(char*)malloc((j+1)*sizeof(char));
for(i=0;*(t+i)!='\0';i++)
{ if(i==0 && *(t+i)==k)
for(h=i;*(t+h)!='\0' && *(t+i)!=' ';h++)
{
*(p+j)=*(t+h);
j++;
p=(char*)realloc(p,(j+1)*sizeof(char));
i=h;
}
if(i!=0 && *(t+i)==k && *(t+i-1)==' ')
for(h=i;*(t+h)!='\0' && *(t+i)!=' ';h++)
{
*(p+j)=*(t+h);
j++;
p=(char*)realloc(p,(j+1)*sizeof(char));
i=h;
}
}
*dlugosclan=j;
return p;
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}