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:



