گرفتن مقدار 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 مهمان