
C - retazce funkcie
Ahoj mam v retazci lubovolne znaky ktore chcem vytriedit na samohlasky pomocou nejakej funkcie a vypisat ich do noveho pola. Poznate taku funkciu ak ano prosim napiste a aj ake parametre ma mat dakujem
A máš vypsat všechny samohlásky, které najdeš (mohou se opakovat), nebo jen jejich první výskyt?
maju sa opakovat nemoze to byt nieco na sposob tohto?? Ale nieco tam je zle
nasiel=strpbrk(znaky,hladaneZnaky);
while(nasiel!=NULL)
{
nasiel=strpbrk(nasiel++,hladaneZnaky);
samohlasky[i]=nasiel;
i++;
}
Funkce strpbrk() vrací pointer na první výskyt znaku, ne přímo ten znak. Takže to chtělo trochu upravit:
Super dakujem moc :)
Este som sa chcel spytat ked nechcem aby mi nepretieklo pole teda neviem kolko znakov v tom subore bude tak by som tam mal dat toto nie?? Lebo aj ked to tam nedam mi pole nepretecie :D. Potom tento priklad je uz o cislach nie samohlaskach
nasiel=strpbrk(znaky,hladaneZnaky);
while(nasiel!=NULL)
{
cifry[i++]=*nasiel;
nasiel=strpbrk(++nasiel,hladaneZnaky);
if(i%POCET==POCET-1)
{
kolkoKratAlokoval++;
cifry=(char *)realloc(cifry,POCET*kolkoKratAlokoval*sizeof(cha r));
}
}
cifry[i]='\0';
printf("%s\n",cifry);
Tak v tomto pripade si mozes naalaokovat aj len hned na zaciatku nove pole velkosti toho povodneho (strlen(znaky)+1), viac tam tych samohlasok urcite nebude :) Zavisi od toho ci nutne potrebujes setrit pamat.