none
dizilerde sıralama RRS feed

  • Soru

  • İyi Akşamlar

    İki tane dizi oluşturdum Bunları console.writeLine büyükten küçüğe göre sıralamak istiyorum ama sıralama sadece bir tanesi oluyor diğeri sabit kalıyor.

    Büyükten küçüge sıralarken eğer 1. index büyük ise ikinci oluşturduğum dizideki 1. index de gelsin.

    örn

    string[] ad = {ahmet,mehmet,hasan };

    int[] no = {11, 7, 9 };

    11 ahmet

    9 hasan

    7 mehmet

    gibi

    21 Ağustos 2014 Perşembe 19:03

Yanıtlar

  • Aslında çok eski ve dar bir yapıyı kullanıyorsunuz. Şöyle yapsanız çok daha iyi olur;

    //öncelikle bir ürün için bir class oluşturun;
    
    internal class Ürün {
        public string Ad { get; set; }
        public decimal Fiyat { get; set; }
    }
    
    
    //lazım olan yerlerde Ürünlerden oluşan bir liste kullanın ve içini ürünler ile doldurun;
    
    var ürünler = new List<Ürün>();
    
    ürünler.Add(new Ürün() { "Kalem", 1.5m });
    ürünler.Add(new Ürün() { "Silgi", 0.5m });
    ürünler.Add(new Ürün() { "Defter", 4m });
    
    //daha sonra linq ile istediğiniz sıralama ve diğer tüm liste işlemlerini yapabilirsiniz;
    
    var artanSıralanmış = ürünler.OrderBy(p=> p.Fiyat);
    var azalanSıralanmış = ürünler.OrderByDescending(p=>  p.Fiyat);
    
    

    gibi...


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    21 Ağustos 2014 Perşembe 18:33
    Moderatör

Tüm Yanıtlar

  • İyi Akşamlar

    Oluşturmuş olduğum iki farklı arraylist var bunların birinde ürünler diğerinde fiyatları mevcut. Bunları büyükten küçüğe göre nasıl sıralayabilirim.Array.short ve Array.reserve kullanıyorum ama sadece bir taraf sıralanıyor.

    ArrayList urun=new ArrayList();

    ArrayList fiyat=new ArrayList();

    for (int x = 0; x < urun.Count; x++)
                    {

                                Console.WriteLine(urun[x], fiyat[x]);
                    }

    21 Ağustos 2014 Perşembe 18:08
  • Aslında çok eski ve dar bir yapıyı kullanıyorsunuz. Şöyle yapsanız çok daha iyi olur;

    //öncelikle bir ürün için bir class oluşturun;
    
    internal class Ürün {
        public string Ad { get; set; }
        public decimal Fiyat { get; set; }
    }
    
    
    //lazım olan yerlerde Ürünlerden oluşan bir liste kullanın ve içini ürünler ile doldurun;
    
    var ürünler = new List<Ürün>();
    
    ürünler.Add(new Ürün() { "Kalem", 1.5m });
    ürünler.Add(new Ürün() { "Silgi", 0.5m });
    ürünler.Add(new Ürün() { "Defter", 4m });
    
    //daha sonra linq ile istediğiniz sıralama ve diğer tüm liste işlemlerini yapabilirsiniz;
    
    var artanSıralanmış = ürünler.OrderBy(p=> p.Fiyat);
    var azalanSıralanmış = ürünler.OrderByDescending(p=>  p.Fiyat);
    
    

    gibi...


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    21 Ağustos 2014 Perşembe 18:33
    Moderatör
  • Proje ödevim bunu console uygularsam çalışır mı ?
    21 Ağustos 2014 Perşembe 18:41
  • Foreeach içine al öyle dene : 

    Dizileri sıralama 

     using System;
     class Diziler
     {
        static void Main()
        {
           Array metinsel=Array.CreateInstance(typeof(string),8);
           metinsel.SetValue("Bekir",0);
           metinsel.SetValue("Mehmet",1);
           metinsel.SetValue("Tahir",2);
           metinsel.SetValue("Yusuf",3);
           metinsel.SetValue("Yunus",4);
           metinsel.SetValue("Gökçen",5);
           metinsel.SetValue("Şüheda",6);
           metinsel.SetValue("Arzu",7);
           Console.WriteLine("Sırasız dizi:");
           foreach(string isim in metinsel)
              Console.Write(isim+" ");
           Console.WriteLine("\n\nSıralı dizi:");
           Array.Sort(metinsel);
           foreach(string isim in metinsel)
              Console.Write(isim+" ");
        }
     }

    21 Ağustos 2014 Perşembe 20:13
  • uyguladın mı?

    birde soruyu bir defa sorman yeter.


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    21 Ağustos 2014 Perşembe 20:43
    Moderatör