fonk

glck
21-01-2011, 00:24   |  #1  
OP Üye
Teşekkür Sayısı: 0
77 mesaj
Kayıt Tarihi:Kayıt: Oca 2009

mrb girilen stringi tersden yazan rekürsif fok nasıl yazabilirim.teşşekkürler.

muh34
21-01-2011, 01:12   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
215 mesaj
Kayıt Tarihi:Kayıt: Eki 2010

Recursive fonksiyonlar topladıgı verileri,fonksiyon icerisinde deklare edilen geri bildirim degerini gorene kadar sistem yıgınında saklarlar(O andaki Yığın(stack) kapasitesi kadar).Soruda bir stringin icerisindeki verilerin recursive mantıkla tersten sıralanması istenmiştir.Ornegin 8 byte'lık I s t a n b u l karakterleri bulunan bir karakter dizisi icerisindeki veriler,I harfinden baslayarak sırasıyla s,t,a,n,b,u,l verilerini sistem yıgını icerisinde depolayacaktır.Bu sıra dizi indeksinin 0'dan 7'ye kadar ilerlemesi ile devam edecektir.Tarama tamamlandıgında sistem yıgına veri girisini sonlandırarak,daha oncesinde tuttugu verileri teker teker pop() etmeye baslayacaktır.
Algoritmanın C dilindeki karsılıgı asagıdaki gibi yazılabilir.

#include <stdio.h>
#include <ctype.h>

void print(char mesaj[],int i) {
     if(i==8)
     return;
     print(mesaj,i+1);
     printf("%c ",mesaj);
     }
int main() {

       char mesaj[9]={"Istanbul"};
       print(mesaj,0);
       getchar();
       return 0;
       }

Başarılar