• گرفتن مقدار 4 کاربر برتر
    #1
    Note 
    سلام
    من یک برنامه نوشتم (بازی اعداد) که مثلا 10 تا کاربر داره ( یا حتی شاید n تا کاربر داشته باشیم یعنی مشخص نباشه ) که هرکدوم یک مقدار عددی دارند :

    کد:
    reza:10
    iman:25
    ali:85
    ramin:74
    omid:13
    raha:8
    mehran:547
    shahin:74
    mahan:11
    mehrdad:14

    چطوری کدی بنویسم که 4 کاربری که اعداد بیشتری رو دارند رو نشون بده ؟ ( حتی اگه اعداد اون 4تا مثله هم باشه و باید بیشتر از بقیه باشه )
    یعنی این 4 تا:

    کد:
    mehran:547
    ali:85
    ramin:74
    shahin:74
    و به این صورت نمایش بده :
    کد:
    1. "mehran"  Emtiaz: 547
    2. "ali"  Emtiaz:85
    3. "ramin"  Emtiaz:74
    4. "shahin"  Emtiaz:74

    ممنون

    See your dreams every where  and every time , try to remember your dreams because a man lives with his dreams forever
    پاسخ
    #2
    Note 
    سلام
    هر کدومو تو آرایه بریز و بعد sort کن! به همین راحتی

    [CSHARP]
    // array of custom type
    User[] users = new User[3] { new User("Betty", 23), // name, age
    new User("Susan", 20),
    new User("Lisa", 25) };
    [/CSHARP]

    مرتب سازی:
    [CSHARP]
    // sort array by age
    Array.Sort(users, delegate(User user1, User user2) {
    return user1.Age.CompareTo(user2.Age); // (user1.Age - user2.Age)
    });
    // write array (output: Susan20 Betty23 Lisa25)
    foreach (User user in users) Console.Write(user.Name + user.Age + " ");
    [/CSHARP]

    I - YOU = FALSE
    استاد ازم میپرسه چند تا وب سرور نام ببر میگم Apache,Lite speed,tomcat
    استاد مینویسه: Apache,Light smith,tomcat
    استاده داریم؟ :i'm_ok:
    پاسخ
    #3
    Note 
    ممنون فقط چه Reference ـی رو به پروژه اضافه کنم ؟
    من
    کد:
    using Microsoft.VisualBasic.ApplicationServices;
    رو اضافه کردم اما اشتباهه انگار

    ممنون

    See your dreams every where  and every time , try to remember your dreams because a man lives with his dreams forever
    پاسخ
    #4
    Note 
    سلام اون کدی که ایشون گذاشتن بنظر میرسه فقط مثاله ولی روش کلی همینه

    پاسخ
    #5
    Note 
    شما باید قبل از اینکه داده ها رو تو لیست بذاری مرتب کنی که بعدش مجبور نشی دوباره مرتب کنی و کد اضافه بنویسی

    پاسخ
    #6
    Note 
    کد:
    [CSHARP]
    string[] items = new string[listBox1.Items.Count];
    listBox1.Items.CopyTo(items, 0);
    Array.Sort(items, delegate(string a, string b)
    {
    int ascore = int.Parse( a.Substring(a.IndexOf(':') + 1));
    int bscore = int.Parse( b.Substring(b.IndexOf(':') + 1));
    return ascore == bscore ? 0 : (ascore < bscore ? 1 : -1);
    });
    foreach (string s in items)
    {
    Console.WriteLine(s.Replace(":", " score: "));
    }
    [/CSHARP]

    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان