Şimdi Ara

acil yardım proje ödevim için..

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
11
Cevap
0
Favori
505
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • arkadaşlar normalde for döngüsünün yapısı for( ; ; ){ } şeklinde. ama proje ödevim için araştırma yapıyordum.karşılaştığım bi kodu incelerken
    for(gecici= bas; gecici->getVeri()!= a; gecici=gecici->sonraki);
    ile karşılaştım. sonunda noktalı virgül var. bu kod parçası yani sonu noktalı virgül olması neyi ifade eder.



    _____________________________
    <<<Bir hatayı çözdüm,başka iki hataya neden olduuu!!!>>>
  • İncelediğin yeri söylersen daha yardımcı olabilir herkes sanırım. Belki yazım yanlıı vardır ya da iyi bilmem Pascal'ı ama Pascal dilinde sanırsam benzer şeyler kullanılıyor. Ama dediğim gibi kaynağı verirsen daha çok yardım alırsın.
    _____________________________
  • haklısınız kod kaynağı burda. http://www.anormaliz.com/index.php?topic=35647.0;imode
    _____________________________
    <<<Bir hatayı çözdüm,başka iki hataya neden olduuu!!!>>>
  • for(i=0;i<100;i++) ;
    i=1 den i=100 e kadar hiçbir şey yapma demek.Tabii senin verdiğin örnekte for'un içindeki ifadeler çalışıyor.Yani her bir gecici için getVeri() fonksiyonu çağrılıyor,ta ki getVeri() nin döndürdüğü değer a'nın içindeki değere eşit olana kadar.
    _____________________________
  • peki bunu { } koyarak yapsak. içine bişey yazmasak olmaz mı. aynı şey olur mu yani.
    _____________________________
    <<<Bir hatayı çözdüm,başka iki hataya neden olduuu!!!>>>
  • quote:

    Orijinalden alıntı: fyarli

    peki bunu { } koyarak yapsak. içine bişey yazmasak olmaz mı. aynı şey olur mu yani.

    Aynı şey olur birşey farketmez. C, c++ ta ; boş ifade demektir. O yazdığın kodun yaptığı şey ise;
    bir bağlı listede, verisi "a" nesnesine eşit olan bir nesne bulana kadar ilerlemek.

    Düzenleme: Yazım hatası



    < Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 8 Aralık 2012; 22:51:59 >
  • teşekkürler



    < Bu mesaj bu kişi tarafından değiştirildi fyarli -- 8 Aralık 2012; 23:16:23 >
    _____________________________
    <<<Bir hatayı çözdüm,başka iki hataya neden olduuu!!!>>>
  • Yapay Zeka’dan İlgili Konular
    çok acil öss yardım
    18 yıl önce açıldı
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: elektro_gadget

    quote:

    Orijinalden alıntı: fyarli

    peki bunu { } koyarak yapsak. içine bişey yazmasak olmaz mı. aynı şey olur mu yani.

    Aynı şey olur birşey farketmez. C, c++ ta ; boş ifade demektir. O yazdığın kodun yaptığı şey ise;
    bir bağlı listede, verisi "a" nesnesine eşit olan bir nesne bulana kadar ilerlemek.

    Düzenleme: Yazım hatası

    evett. peki eşit olana kadar çağırıyor. ama eşit olduktan sonra napıyor anlayamadım amacı ne yani.o kodun geçtiği kısım şöyle.yardımcı olursanız sevinirm.
    else
    {
    for(gecici= bas; gecici->getVeri()!= a; gecici=gecici->sonraki);
    for(gecici1=gecici->komsu; gecici1!=0 ; gecici1=gecici1->komsu)
    {
    baglantiSil(gecici1->getVeri(),a);
    }
    gecici1=gecici->sonraki->sonraki;
    delete gecici->sonraki;
    gecici->sonraki = gecici1;
    printf("%c dugumu silindi.\n",a);
    }
    }
    _____________________________
    <<<Bir hatayı çözdüm,başka iki hataya neden olduuu!!!>>>




  • Genele bakınca listeden bir düğüm sildiği belli ama sadece bu kod ile anlaşılamayacak ifadelerde var. komsu nun ne olduğunu bilemedim mesela. Normalde bir eleman silmek için ilk for dan sonra;

    gecici->onceki->sonraki = gecici->sonraki;
    delete gecici;

    yeterli olması lazımdı. (Tabi bu liste çift yönlü oldu).
  • quote:

    Orijinalden alıntı: elektro_gadget

    Genele bakınca listeden bir düğüm sildiği belli ama sadece bu kod ile anlaşılamayacak ifadelerde var. komsu nun ne olduğunu bilemedim mesela. Normalde bir eleman silmek için ilk for dan sonra;

    gecici->onceki->sonraki = gecici->sonraki;
    delete gecici;

    yeterli olması lazımdı. (Tabi bu liste çift yönlü oldu).

    hımm aslında ben for(gecici= bas; gecici->getVeri()!= a; gecici=gecici->sonraki); kodunun gerekliliğini anlayamadım. for döngüsünden çıkıldıktan sonra gecicinin bir hükmü değeri kalmıyorki. gecici ne değerde oluyorki. daha sonraki kodda kullanılmış ama nasıl
    _____________________________
    <<<Bir hatayı çözdüm,başka iki hataya neden olduuu!!!>>>
  • Niye hükmü kalmasın? Döngüyü while e çevirelim belki daha iyi anlarsın.

    Dugum gecici = bas; // Liste en başa ayarlandı.

    while(gecici->getVeri() != a) // gecici düğümünün verisi a'ya eşit değil ise
    gecici = gecici->sonraki; // Listede bir sonraki elemana geç.

    // Döngü sonlanınca gecici a'yı gösteriyor.
    printf("%c\n", gecici->getVeri()); //Ekrana a yaz.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.