folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder C# Ta Basit Bir Soru Yardım Lütfen.



C# Ta Basit Bir Soru Yardım Lütfen.

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Nvidia
    Nvidia's avatar
    Banlanmış Üye
    Kayıt Tarihi: 13/Nisan/2013
    Erkek

    Hocalar merhabalar c# ta kendimi geliştiriyorum . bi console  uygulması yaparken kafama bişe  takıldı yapayım dedimde  mantığı kuramadım 

    şimdi kullanıcıdan kaç adet notu olduğunu istiyoruz sonra kaç adet girerse bunu döngü içinde yazdırıp ReadLine yapıyorum  notlarınızı girin diye ama bu girilen notları ayrı ayrı değişkenlere nasıl atarım bilemedim kaç tane  not varsa toplyacak ve  not sayısına  bölecek yani ortalama  bulacak ama mesele bu for döngüsü sayesinde girilen  notları nasıl değişkenlere  atayacağım? şimdiden eyvallah...

     Console.WriteLine("not adedini giriniz");

                int notAdet = Convert.ToInt32(Console.ReadLine());

                for (int i = 0; i < notAdet; i++)

                {

                    Console.WriteLine("Notunuzu Giriniz");

                    int y = Convert.ToInt32(Console.ReadLine());

     

    buraya kadar yazdım ama tıkandım gerisini biliyorum ama tek sıkıntı girilen notların değişkenlere atanması


    Milyarlarca yıl ölüydüm dirildim ve tekrar dirilmemek üzere öleceğim günü bekliyorum!
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Nvidia
    Nvidia's avatar
    Banlanmış Üye
    Kayıt Tarihi: 13/Nisan/2013
    Erkek

    Diziyle  yapabilir miyim acaba şimdi aklıma  geldi


    Milyarlarca yıl ölüydüm dirildim ve tekrar dirilmemek üzere öleceğim günü bekliyorum!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    böyle bir durumda değişken değil array kullanman lazım arrayi oluşturduktan sonra

      for (int i = 0; i < notAdet; i++)

                {

    Dizi[i]=Convert.ToInt32(Console.ReadLine());

    }

    gibi oradaki i dizinin kaçıncı elemanı oldugunu belirtiyor

     

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    en kolay yolu bir tane struct ya da sınıf oluştur, bu sınıfın ismi notlar olsun mesela.. içerisinde vize final v.s. barındırsın.... 

    bu bilgileri de bir liste de tut (en kolayı da o dur)

    basit bir örnek verirsem

     

    public class Notlar
    
    {
    
    public int Vize { get; set; }
    
    public int Final { get; set; }
    
    public double Ortalama { get; set; }
    
    }
    
    
    --------------------------
    
    döngüden önce (hatta ilgili fonksiyonun dışında tanımla) List ogrenciNotlari = new List(); -----------------------------
    döngü { var not = new Notlar(); print("vizeyi girin"); not.Vize = Convert.ToInt32(Console.ReadLine()); print("Final Girin"); not.Final = Convert.ToInt32(Console.ReadLine()); not.Ortalama = not.Vize*0.4 + not.Final*0.6; ogrenciNotlari.Add(not); }
    unbalanced tarafından 09/Ağu/14 21:28 tarihinde düzenlenmiştir

    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Nvidia
    Nvidia's avatar
    Banlanmış Üye
    Kayıt Tarihi: 13/Nisan/2013
    Erkek

    ikinizede ayrı ayrı  teşekkürler  hocalar eyvallah 


    Milyarlarca yıl ölüydüm dirildim ve tekrar dirilmemek üzere öleceğim günü bekliyorum!
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sharp
    Sharp's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek
    unbalanced bunu yazdı

    en kolay yolu bir tane struct ya da sınıf oluştur, bu sınıfın ismi notlar olsun mesela.. içerisinde vize final v.s. barındırsın.... 

    bu bilgileri de bir liste de tut (en kolayı da o dur)

    basit bir örnek verirsem

     

    public class Notlar
    
    {
    
    public int Vize { get; set; }
    
    public int Final { get; set; }
    
    public double Ortalama { get; set; }
    
    }
    
    
    --------------------------
    
    döngüden önce (hatta ilgili fonksiyonun dışında tanımla) List ogrenciNotlari = new List(); -----------------------------
    döngü { var not = new Notlar(); print("vizeyi girin"); not.Vize = Convert.ToInt32(Console.ReadLine()); print("Final Girin"); not.Final = Convert.ToInt32(Console.ReadLine()); not.Ortalama = not.Vize*0.4 + not.Final*0.6; ogrenciNotlari.Add(not); }

    simdi hocam, arkadasin sordugu soruya bakarak ortaya nasıl boyle bir kod cikardin, şaşırtıcı doğrusu !

    belli ki arkadaş bu işlerde coook yeni ve sorduğu soruya siniflarla, property lerle verilecek bir cevabi anlayabilecek yetide degil. (henüz !)

    ayrica sorduğu soruya bu şekilde yaklaşmak, kod fazlalığı ve bellek israfindan baska birsey degil.. oldu olacak bende soyle birsey yazayim bari....

            static int Main(string[] args)
            {
                int i;
    
                if (new StackTrace().FrameCount < 2 || new StackTrace().GetFrame(1).GetMethod().Name != "Main")
                {
                    int ct;
                    Console.Write("not adeti : ");
                    ct = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("ortalama : {0}", Main(new string[] { ct.ToString() }) / ct);
                    Console.ReadLine();
                    return 0;
                }
    
                if ((i = Convert.ToInt32(args[0])) == 0)
                    return 0;
                Console.Write("not : ");
                return Convert.ToInt32(Console.ReadLine()) + Main(new string[] { (i - 1).ToString() });
            }

    lütfen cevap verirken önce bir soruya bakalım yahu ! 

    gerçekten bu soruya cevap olabilicek olan algoritma ise asagida.

     

        class Program
        {
            static int Main(string[] args)
            {
                int n;
                int sum = 0;
    
                Console.Write("not adeti : ");
                n = Convert.ToInt32(Console.ReadLine());
    
                for (int i = 0; i < n; ++i)
                {
                    Console.Write("not : ");
                    sum += Convert.ToInt32(Console.ReadLine());
                }
    
                Console.WriteLine("ortalama : {0}", sum / n);
                Console.ReadLine();
    
                return 0;
            }
        }

     


    www.yesilgrow.com - Growshop
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    hocam benim pek vaktim yok genelde o yüzden acele acele yazıyorum her zaman.. yazdığım basit bir sınıf, temel oop .. maalesef türkiyede eğitim for döngüsünü bile aylarca anlatılan bir sistem üzerine kurulduğu için bunlar çok ileri seviye gelebilir ama hiç de zor bir şey değil.. kullanılması gereken de bu dur. ben sadece arkadaşa bir örnek verdim, vizeli finalli bir şey. buradan elbet bir sonuç çıkartacaktır kendine.. ayrıca bir sorun olsaydı, arkadaş yazınca zaten cevaplamaya çalışırdım.

     

    ikinci olarak bellek v.s. demişsin :) hocam biz artık 64 mb lık bellekler kullanmıyoruz, ayrıca c# da bellek temizleme işini kullanıcı yapmak zorunda değil GC var! otomatik olarak belleği yönetir zaten.. Bunlar takılacak şeyler değil.. 

    Arkadaşın problemi olursa, anlamadığı yer olursa her zaman sorabilir, vakit buldukça elimden geldiğince yardımcı olurum zaten, gerekirse bilgisayarına bağlanıp adım adım anlatırım sorun değil.. Ama bunu senin değil, onun söylemesi lazım


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sharp
    Sharp's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek
    unbalanced bunu yazdı

    hocam benim pek vaktim yok genelde o yüzden acele acele yazıyorum her zaman.. yazdığım basit bir sınıf, temel oop .. maalesef türkiyede eğitim for döngüsünü bile aylarca anlatılan bir sistem üzerine kurulduğu için bunlar çok ileri seviye gelebilir ama hiç de zor bir şey değil.. kullanılması gereken de bu dur. ben sadece arkadaşa bir örnek verdim, vizeli finalli bir şey. buradan elbet bir sonuç çıkartacaktır kendine.. ayrıca bir sorun olsaydı, arkadaş yazınca zaten cevaplamaya çalışırdım.

     

    ikinci olarak bellek v.s. demişsin :) hocam biz artık 64 mb lık bellekler kullanmıyoruz, ayrıca c# da bellek temizleme işini kullanıcı yapmak zorunda değil GC var! otomatik olarak belleği yönetir zaten.. Bunlar takılacak şeyler değil.. 

    Arkadaşın problemi olursa, anlamadığı yer olursa her zaman sorabilir, vakit buldukça elimden geldiğince yardımcı olurum zaten, gerekirse bilgisayarına bağlanıp adım adım anlatırım sorun değil.. Ama bunu senin değil, onun söylemesi lazım

    hocam agresif yaklaştım ancak ofansif degildim :D  

    yardımcı olmaya calışan bir insan olduğunu biliyorum fakat, hani derler ya, sen ne kadar anlatırsan anlat, karsindaki, anlayabileceginden fazlasini alamaz diye. iste anlatmaya calistigim sey buydu.. ( amacim burda konuyu acan arkadasi yermek degil, yalnızca yeni başladigini vurgulamak istedim.. )

    elbette ki 64 mb bellek ile calismiyoruz fakat yazdigin kodun her yönden optimize olmasi gerekir ( her zaman kucuk projelerde degil de, yeri geldiginde buyuk projelerde calisman gerekebilir ! ) algorithm complexity denen konseptten haberdar olsan hic de kötü olmaz hani.. :)

    garbage collection hakkinda msdn, istersen bir incele.

    http://msdn.microsoft.com/en-us/library/ms973837.aspx

    ayrica herseye ragmen, fuck the GC, benim isime burnunu sokup, coluk cocuk memory leak yapmasin diye ortada dolasan thread leriyle daha fazla soruna yol acıyor. neyse, yine ofensif degilim, inş yanliş anlamamissindir !!

     

    ayrıca, her ne kadar ben de sevmiyor olsam da, türkiyede egitim for döngüsünden ibaret degil, ogrenciler for döngusunun otesine gidemiyor ! aradaki farki iyi analiz etmeli.!


    www.yesilgrow.com - Growshop
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    :) ofansif-defensif bir şey umrumda değil, uzun bir yolculuk yaptım bugün türkiye ye geldim tartışacak bir durumda değilim.. dediğim gibi arkadaşın anlamadığı bir nokta varsa bana her zaman sorabilir ben de açıklarım. çok şey yazarım şimdi de gerek yok uğraşmaya. hadi iyi geceler


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sharp
    Sharp's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek
    unbalanced bunu yazdı

    :) ofansif-defensif bir şey umrumda değil, uzun bir yolculuk yaptım bugün türkiye ye geldim tartışacak bir durumda değilim.. dediğim gibi arkadaşın anlamadığı bir nokta varsa bana her zaman sorabilir ben de açıklarım. çok şey yazarım şimdi de gerek yok uğraşmaya. hadi iyi geceler

    :)


    www.yesilgrow.com - Growshop
Toplam Hit: 970 Toplam Mesaj: 10