Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*5. Napisati rekurzivnu funkciju koja traži n-to pojavljivanje nekog znaka u stringu.*/
- #define _CRT_SECURE_NO_WARNINGS
- #include<stdio.h>
- #include<string.h>
- int funkcija(char[],int, char );
- int funkcija1(char[], int, char, int);
- int main()
- {
- char nekakav_string[] = "Nekakav text cisto za provjeru ove funkcije";
- char znak = 'k';
- //printf("Znak %c pojavljuje %d puta",znak,funkcija(nekakav_string,strlen(nekakav_string),znak));
- funkcija1(nekakav_string, strlen(nekakav_string), znak, 3);
- getchar();
- getchar();
- return 1;
- }
- //E sad ja ovo nisam shvatija; Znaci mi odaberemo znak
- //Onda je li treba koliko puta se pojavljuje u stringu
- //Pojavljuje li se znak u stringu minimalno n puta
- //Ili doslovice treba ako se pojavljuje ispisat pojavljuje se 3 put izmedju ova 2 znaka
- //Jer ako to treba onda je bolje imat vise funkcija
- int funkcija(char niz[],int velicina, char znak)
- {
- if (velicina == 0)
- return 0;
- else if (niz[0] == znak)
- return 1 + funkcija(&niz[1], velicina - 1, znak);
- else if (niz[0] != znak)
- return funkcija(&niz[1], velicina - 1, znak);
- }
- //String,velicina,znak,n;
- int funkcija1(char niz[], int velicina, char znak, int n)
- {
- if (velicina == 0)
- return 0;
- else if (niz[0] == znak)
- {
- n--;
- if (0 == n)
- printf("Trazeno ponavljanje je izmedju %c i %c", niz[-1], niz[1]);
- return 1 + funkcija1(&niz[1], velicina - 1, znak, n);
- }
- else if (niz[0] != znak)
- return funkcija1(&niz[1], velicina - 1, znak,n);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement