folder Tahribat.com Forumları
linefolder C - C++
linefolder C++ Dan Anlayan Müritler



C++ Dan Anlayan Müritler

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek

    abs ve fabs kendi başlarına saçm asapan sonuçlar veriyorlar arkadaşlar zaten double istiyor

    siz int() fonksiyonunu ( tam değer , integer , kafadan ondalık kısmı atıyor) kullanın o düzgün sonuçlar veriyor

    algoritma şöyle olur

    sayıyı gir (sayi)

    tam kısmı bul // tamsayi=int(sayi)

    ondalık kısmı bul// ondalik=sayi-tamsayi

    ondalık kısmın ilk iki hanesini tam sayıya çevir// sayimiz=int(100*ondalik)

    böylelikle sayimizi elde etmiş olduk

    en yakın kare sayıları arayacağımıza göre öncelikle kendinin kare olup olmadığını kontrol edeceğiz

    bunu da virgülden sonraki kısmı 0 la karşılaştırarak yaparız

    sayimiz in karekökünün tam değeri kareköküne eşit mi evetse "sayı zaten tam kare"

    hayırsa ileriarama etiketine dallan

    İLERİ ARAMA // bu bölümde sayimiz birerbirer artırılarak sayının tam kare olup olmadığı yine karekök,int karekök karşılaştırması ile saptanacak

    burada sayimiz değişkenini ilk haliyle geri aramada da kullanacağımızdan başka bir değişkene yükleyeceğiz

    ileri=sayimiz

    ileri yi bir artır//

    ileri tamsayıkare mi evet ise

    buyukkare=ileri , geri arama etiketine dallan ( burada düzeltem yaptım!!! )

    değilse döngüye devam et ( aslında bu bölüme bir sayaç koyup araştırma uzaklığını sınırlamak gerekir yoksa sonsuz döngüye girer)

    GERİ ARAMA // ...

    geri=sayimiz

    sayimizi bir eksilt

    geri tamsayı kare mi evet ise kucukkare=sayimiz, sonuçlar etiketine dallan

    değilse döngüye devam et ( istenirse buraya da bir sayaç konup araştırma uzaklığı girilebilir ama eninde sonunda sıfıra gelinecektir )

    SONUÇLAR

    buyukkareyi yaz

    kucukkareyi yaz

    uzaklıkb= buyukkare-sayimiz

    uzaklıkk= sayimiz - kucukkare

    uzaklıkb?=uzaklıkk Evet ise "ikisi de aynı uzaklıkta "

    uzaklıkb?

    değilse "kucukkre daha yakın"

    end


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    Etiket derken? goto mu kullancaksın bu algoritmada?


    Sen hiç kaval çaldın mı?
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek
    JPriest bunu yazdı:
    -----------------------------

    Etiket derken? goto mu kullancaksın bu algoritmada?


    -----------------------------

    evet

    operada yazdığım için paragraflar çıkmamıştı tagladım

    yani sayıyı elde edeğiz

    birer artırarak tam kare kontrolü yapacağız bu bittikten sonra

    sayımızı birer eksilteceğiz tam kare kontrolü yapacağız


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    Abi ben şu bir önceki sayfada yazdığım koda bile dandik derken sen goto'dan bahsediyorsun, biraz eskide kaldı sanki o işler. Döngüler çıktı mertlik bozuldu :)


    Sen hiç kaval çaldın mı?
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek
    Döngü kullamadan nasıl yapmayı düşünüyorsunuz? :)))

    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    Yok onu demiyorum, goto yerine döngü kullanılsın diyorum. Ne kadar goto, o kadar kötü kod.


    Sen hiç kaval çaldın mı?
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek

    Bir de bu fabs fonksiyonu çok zırva sonuçlar verdi

    double girdiyi float a indiriyor virgülden sonra 4 basmak sonuç veriyor yani..


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    Itcelik hocam mesajlarında gördüğüm kadarı ile c ve c++'a  fazla hakim değilsin, elemanların kafasını bulandırmamakta fayda var ;) Sanırım asm bilgin falan var biraz, önerilerin o mantıkla gidiyor çünkü :)

    Öncelikle while,for gibi döngüler varken goto gibi ilkel bişi kullanmak programlama felsefesine ters.. Bizim bölümde ben böyle birşey yapsam hoca kafamı gözümü kırar :D

    math.h include edildi ise fabs ve abs saçma sapan sonuç vermez, edilmedi ise zaten çalışmaz. int de bir veri tipi fonksiyon değil.

    double fabs (      double x );
    float fabs ( float x );
    long double fabs ( long double x );

    http://www.cplusplus.com/reference/clibrary/cmath/fabs/

    3 farklı fabs var, her birisi tipine uygun sonuç döndürür..

    Ayrıca merak ettiğim bi durum var, math.h kullanmanıza izin veriyolarsa, ceil ve floor diye 2 fonksiyon var, birisi yukarı, diğeri aşağı yuvarlar sayınızı onları kullansanıza..


    There are 10 types of people in the world. Those who knows binary and those who dont...
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek
    JPriest bunu yazdı:
    -----------------------------

    Yok onu demiyorum, goto yerine döngü kullanılsın diyorum. Ne kadar goto, o kadar kötü kod.


    -----------------------------

    haa onu mu diyorsun

    ordaki etiketlere bir defa gidilecek zaten... Altprogram gibi düşün

    şimdi alt program desem kullanıcı tanımlı fonksiyon desem bünye kaldırmaz..

    İLERİ ARAMA alt programı

    GERİ ARAMA alt programı ya da bölgesi gibi...

    program dört bülgeden oluşuyor

    1. ilk iki sayıyı bulma, sayimiz

    2. ileri arama bölümü ( burada sayimizdan büyük tam kareleri arıyoruz mecburen)

    3. geri arama bölümü ( burada sayimizdan küçük tam kareleri arıyoruz mecburen)

    4. değerlendirme ve sonuç bölümü

    şimdi ileri arama bölümündeki sıkıntı şu, artan sayılar sonsuza kadar artar biliyorsun böylelikle program uzun ve sıkıntılı bir sürece girebilir ki bu yüzden ileri aramada bir "maksimum arama mesafesi" ile kesilip programın dallanması program tekniği için daha uygundur... sayının durumuna göre bu geri aram için de yapılabilir ama o eninde sonunda sıfır olacaktır ve orda döngü zaten hatasz biter.


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek
    NmC bunu yazdı:
    -----------------------------

    Itcelik hocam mesajlarında gördüğüm kadarı ile c ve c++'a  fazla hakim değilsin, elemanların kafasını bulandırmamakta fayda var ;) Sanırım asm bilgin falan var biraz, önerilerin o mantıkla gidiyor çünkü :)

    Öncelikle while,for gibi döngüler varken goto gibi ilkel bişi kullanmak programlama felsefesine ters.. Bizim bölümde ben böyle birşey yapsam hoca kafamı gözümü kırar :D

    math.h include edildi ise fabs ve abs saçma sapan sonuç vermez, edilmedi ise zaten çalışmaz. int de bir veri tipi fonksiyon değil.

    double fabs (      double x );
    float fabs ( float x );
    long double fabs ( long double x );

    http://www.cplusplus.com/reference/clibrary/cmath/fabs/

    3 farklı fabs var, her birisi tipine uygun sonuç döndürür..

    Ayrıca merak ettiğim bi durum var, math.h kullanmanıza izin veriyolarsa, ceil ve floor diye 2 fonksiyon var, birisi yukarı, diğeri aşağı yuvarlar sayınızı onları kullansanıza..


    -----------------------------

    NMC kardeş benim gotolarım döngü gotosu değil dallanma için... program büyük tamkare sayıyı buldu ne yapacak? bekleyecek mi...

    ayrıca benim yazdığım bir algoritma.. (yazması da zahmetli olduğu için gotolar kullandım...) KOD değil... Arakdaşlar daha algoritma ve problm analizi bilmiyorlarki... bu programı kullanıcı tanımlı fonksiyon yaparsın iki satır da kod yazarsın o da olurdu.. :))


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
Toplam Hit: 5395 Toplam Mesaj: 35