🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Zeynep HABER / VERİYAPILARI / ÖZYİNELEME_RECURSİVE

1-) VERİYAPILARI - ÖZYİNELEME_RECURSİVE

 

Döngü kullanmamak için recursive kullanılır.

ÖRN: Kelimenin içinde geçen 'AA' stringin sayısını bulan recursive fonksiyonu yazalım

# include<stdio.h>

# include <string.h>

int sayac = 0;

int harfBul(char harf[], int i)

{

if (i >= strlen(harf))

{

return sayac;

}

else

{

if (harf[i] == 'A')

{

if (harf[i + 1] == 'A')

{

sayac = sayac + 1;

}

}

return sayac + harfBul(harf, i + 1);

}

}

int main()

{

int i = 0;

char dizi[] = "AAbcdeAAlskiAAskjgAşsljAA";

harfBul(dizi, i);

printf("%d", sayac);

return 0;

}

 

ÖRN: Ebob

# include<stdio.h>

int ebob(int a, int b)

{

if (b == 0) return a;

return ebob(b, a % b);

}

int main()

{

printf("%d", ebob(18, 15));

return 0;

}

 

ÖRN:

# include<stdio.h>

int linearF(int a, int b, int c, int n)

{

if (n <= 2) return c;

else return linearF(b, c, a + b + c, n - 1);

}

int tripleF(int k)

{

if (k <= 2) return k;

else return tripleF(k - 1) + tripleF(k - 2) + tripleF(k - 3);

}

int main()

{

int linF = linearF(0, 1, 2, 7);

printf("%d\n", linF);

int tripF = tripleF(7);

printf("%d", tripF);

return 0;

}

 

 

ÖRN: Sayının rakamları toplamı

# include<stdio.h>

int top(int sayi)

{

if (sayi < 10)

return sayi;

else return sayi % 10 + top(sayi / 10);

}

int main()

{

int sm = top(125451460);

printf("%d\n", sm);

return 0;

}

ÖRN:

 

 

 

 

 2022 Mart 08 Salı
 432