• 29-12-2017, 21:56:21
    #1
    Üyeliği durduruldu
    Merhabalar,

    C# Console üzerine çalışıyorum. Mantığı kavramak için evde uygulamalar yapmaya çalışıyorum. Bir tane yaptım ancak hiç anlamadığım bir şekilde hata verdi.

    Mantık şu kullanıcı 3 sayı giriyor. Bu sayıları if-else ile kontrol edip, birinci,ikinci ve üçüncü olarak sıralıyorum. Ancak yazdıracakken hata veriyor.

    Nedenini bilenler çok acil yazarlarsa sevinirim.



    İyi forumlar.
  • 29-12-2017, 22:11:10
    #2
    Shydox adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    C# Console üzerine çalışıyorum. Mantığı kavramak için evde uygulamalar yapmaya çalışıyorum. Bir tane yaptım ancak hiç anlamadığım bir şekilde hata verdi.

    Mantık şu kullanıcı 3 sayı giriyor. Bu sayıları if-else ile kontrol edip, birinci,ikinci ve üçüncü olarak sıralıyorum. Ancak yazdıracakken hata veriyor.

    Nedenini bilenler çok acil yazarlarsa sevinirim.



    İyi forumlar.
    Merhaba,
    İnt değerlerinin kurulumlarını yapmışsınız fakat bunlar için herhangi bir değer ataması yapmamışsınız.
    Int değerlerinin kurulumunu yaptığınız kod satırından sonra şunları eklemeyi deneyin;
    int a1= b2 = c3 = 0;
    veya

    int a1= 0;
    int b2= 0;
    int c3= 0;
  • 29-12-2017, 22:13:23
    #3
    a1 b2 c3 değişkenlerini tanımlarken 0 değerini atıp birdaha dener misiniz ?
  • 29-12-2017, 22:14:16
    #4
    Üyeliği durduruldu
    @m0ri4rty; Hocam siz demeden önce 1 olarak düzenlemiştim. Ancak Sadece ilk sayı düzgün çalışıyor Diğerleri çalışmıyor. Hatta düzgün olarak hiçbirisi çalışmıyor şuan denedimde.



    @EmreCapan; Hoca denedim ancak uygulama hata veriyor. If - else'demi bir yanlışlık yaptım acaba ? Mantık olarak çalışması gerekiyor ama.



    @EmreCapan; Hata veriyor dediğim sonraki işlemleri tanımıyor. Yani içine yeni attığım değişkenleri kabul etmiyor. Sıralamada 0 olarak gösteriyor.
  • 29-12-2017, 22:16:41
    #5
    Bence kodlamada bazı hatalar bulunmakta.
    Örneğin;
    S1=30
    S2=25
    S3=20 alınmış olsun.
    Bu durumda, ilk if'e bakacak olursak;
    s1<s2 mi? değil. ilk ife girmez. a1=s1 atanmadı.
    ilk else if'e bakalım;
    s2>s1 mi? değil. buna da girmez. b2=s2 atanmadı
    ikinci else if'e bakalım;
    s3>s2 mi? değil. buna da girmez ve yine atanmaz.

    Sonuç olarak diyeceğim şudur ki, siz sadece s1>s2>s3 durumuna göre kodu yazmışsınız ancak farklı tarzda sayılar girilebilir. Sonucu yazmıyorum, araştırmanızı tavsiye ederim ve size de önereceğim sorting algoritmaları, yani sıralama algoritmalarınızı araştırmalısınız. Farklı tarzlarda sıralama algoritmaları bulunmakta ve sizin isteğinize uygun olanı seçip deneyebilirsiniz.
    İyi forumlar.
  • 29-12-2017, 22:19:59
    #6
    Üyeliği durduruldu
    sambaras90 adlı üyeden alıntı: mesajı görüntüle
    Bence kodlamada bazı hatalar bulunmakta.
    Örneğin;
    S1=30
    S2=25
    S3=20 alınmış olsun.
    Bu durumda, ilk if'e bakacak olursak;
    s1<s2 mi? değil. ilk ife girmez. a1=s1 atanmadı.
    ilk else if'e bakalım;
    s2>s1 mi? değil. buna da girmez. b2=s2 atanmadı
    ikinci else if'e bakalım;
    s3>s2 mi? değil. buna da girmez ve yine atanmaz.

    Sonuç olarak diyeceğim şudur ki, siz sadece s1>s2>s3 durumuna göre kodu yazmışsınız ancak farklı tarzda sayılar girilebilir. Sonucu yazmıyorum, araştırmanızı tavsiye ederim ve size de önereceğim sorting algoritmaları, yani sıralama algoritmalarınızı araştırmalısınız. Farklı tarzlarda sıralama algoritmaları bulunmakta ve sizin isteğinize uygun olanı seçip deneyebilirsiniz.
    İyi forumlar.
    Evet farkettim. Şuanda onu düzeltmeye çalışıyorum. Ve diğer büyük bir hata if'ten sonra else if kullanmam. Yani eğer 1. Koşul sağlanırsa diğer 2 sini kontrol etmiyordu. Düzeltiyorum.
  • 29-12-2017, 22:21:42
    #7
    Shydox adlı üyeden alıntı: mesajı görüntüle
    Evet farkettim. Şuanda onu düzeltmeye çalışıyorum. Ve diğer büyük bir hata if'ten sonra else if kullanmam. Yani eğer 1. Koşul sağlanırsa diğer 2 sini kontrol etmiyordu. Düzeltiyorum.
    Aynen öyle, farketmenize sevindim. Ayrıca bir sorunuz olursa yine yardımcı olmaya çalışırım.

    Kolay gelsin.
  • 29-12-2017, 22:21:50
    #8
    sambaras90 adlı üyeden alıntı: mesajı görüntüle
    Bence kodlamada bazı hatalar bulunmakta.
    Örneğin;
    S1=30
    S2=25
    S3=20 alınmış olsun.
    Bu durumda, ilk if'e bakacak olursak;
    s1<s2 mi? değil. ilk ife girmez. a1=s1 atanmadı.
    ilk else if'e bakalım;
    s2>s1 mi? değil. buna da girmez. b2=s2 atanmadı
    ikinci else if'e bakalım;
    s3>s2 mi? değil. buna da girmez ve yine atanmaz.

    Sonuç olarak diyeceğim şudur ki, siz sadece s1>s2>s3 durumuna göre kodu yazmışsınız ancak farklı tarzda sayılar girilebilir. Sonucu yazmıyorum, araştırmanızı tavsiye ederim ve size de önereceğim sorting algoritmaları, yani sıralama algoritmalarınızı araştırmalısınız. Farklı tarzlarda sıralama algoritmaları bulunmakta ve sizin isteğinize uygun olanı seçip deneyebilirsiniz.
    İyi forumlar.
    Evet @sambaras90; haklı. Mesela, gelen bütün int değerlerini bir int array oluşturarak oraya atayıp bu değerleri array sıralama fonksiyonunu kullanarak istediğin sonucu alabilirsin.
  • 29-12-2017, 22:23:32
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Eğer fonksiyonunda ilk yere girerse b ve c değişkeni boş kalacak.

    Her birine if değeri yazsanız çalışabilir gibi duruyor çok incelemedim.

    Bir diziye tanımlarsanız sort komutu var onu kullanabilirsiniz. (Orderby daha iyi olur)