Java/C++ Recursive ile ilgili soru?

narutomanga899

Katılımcı Üye
21 Nis 2013
384
0
City of Code
Recursive(kendi tekrar tekrar çağıran) fonksiyon yazacağız ve bu fonks. link list'in head ini alacak ve bir sonraki değerinin öncekinden küçükeşit olup olmadığını bulacak, mesela;
1, 5, 8, 8, 9 veya 4, 6, 7, 9 ise true ama 1, 3, 8, 4, 6 gibi(8>4 olmadı) olursa false dönecek,
Bunu nasıl yazarız, java veya C++ ta?

Kod:
    struct Node {
    int değer;
    Node *sonraki;
    };

    Node *head;

bool düzenliMi(Node *head) {

..................???????...................

}
 
Son düzenleme:

ihan3t

Kadim Üye
7 Şub 2012
5,018
23
Struct 'ta tanımlamayı nasıl yaptın bilmiyorum ama şöyle olur :

if(head->deger <= head->sonraki->deger)
duzenliMi(head->sonraki);
else
return false;
 

xdebron

Kıdemli Üye
29 Ocak 2015
2,441
1
.
Kod:
#include <iostream>

bool duzen(int arr[],int kalinan) {
if(kalinan-2==sizeof(arr))
{
return true;                          
}
if(arr[kalinan]<=arr[kalinan+1]){
return duzen(arr,kalinan+1);}
else{return false;}


}

int main()
{
    int arr[]={1,2,3,4,5,6};
    if(duzen(arr,0)){printf("oldu");
     system("pause");}
}


istediğin şöyle bişi sanırım
 

ihan3t

Kadim Üye
7 Şub 2012
5,018
23
Verdiğim kodu çalıştıramadın mı ? İstediğin çözüm oydu zaten sanırım sen işlem sonunda true döndürmesinide istiyorsun. Ki bunu en başta deger = true; olarak tanımlarsın zaten else kısmına girmezse false olmaz böylelikle true değer kalır. Ama ille döndürmek istiyorsan

while(head->sonraki->deger != null){

if(head->deger <= head->sonraki->deger){
if(head->sonraki->deger != null)
duzenliMi(head->sonraki);
else return true;
}
else
return false;

}

Bu verdiğim c için geçerlidir . Kod yanlış değil ayrıca mantığı budur. Sen kendi structına göre ayarla.
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.