نمایش نتایج 1 تا 12 از 12

نام تاپیک: Sort کردن آرایه String

  1. #1

    Post Sort کردن آرایه String

    سلام دوستان به فرض مثال من یه آرایه string دارم با این محتوا :

    reza:30
    mehdi:10
    hamid:20

    چطور میتونم این آرایه رو براساس اعداد بعد کاراکتر ":" یعنی همان 10, 20, 30 ها از کوچک به بزرگ مرتب کنم و در آخر به این صورت دربیاد :

    mehdi:10
    hamid:20
    reza:30

    ممنون.
    آخرین ویرایش به وسیله mehdi8 : سه شنبه 10 فروردین 1395 در 10:04 صبح

  2. #2
    کاربر تازه وارد آواتار shahryars
    تاریخ عضویت
    فروردین 1395
    محل زندگی
    Rio
    پست
    69

    نقل قول: Sort کردن آرایه String

    نقل قول نوشته شده توسط mehdi8 مشاهده تاپیک
    سلام دوستان من یه آرایه string دارم با این محتوا :

    reza:30
    mehdi:10
    hamid:20

    چطور میتونم این آرایه رو براساس اعداد بعد کاراکتر ":" یعنی همان 10, 20, 30, 40 ها از کوچک به بزرگ مرتب کنم و در آخر به این صورت دربیاد :

    mehdi:10
    hamid:20
    reza:30

    ممنون.
    فقط همین 3تا؟
    یا اضافه میشه بهشون؟
    اگه اره، همه دو رقمی اند؟

  3. #3

    نقل قول: Sort کردن آرایه String

    نقل قول نوشته شده توسط shahryars مشاهده تاپیک
    فقط همین 3تا؟
    یا اضافه میشه بهشون؟
    اگه اره، همه دو رقمی اند؟
    خیر ممکنه هر تعدادی باشه و عدد ها هم هر عددی میتوند باشن.اون مورد رو مثال زدم.
    ممنون لطفا کمک کنید

  4. #4
    کاربر تازه وارد آواتار shahryars
    تاریخ عضویت
    فروردین 1395
    محل زندگی
    Rio
    پست
    69

    نقل قول: Sort کردن آرایه String

    http://www.aparat.com/v/9fpKE/%D8%AC...%B1%D9%BE_%23c

    این لینک رو برسی کنید.
    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 10 فروردین 1395 در 16:57 عصر

  5. #5

    نقل قول: Sort کردن آرایه String

    نقل قول نوشته شده توسط shahryars مشاهده تاپیک
    http://www.aparat.com/v/9fpKE/%D8%AC...%B1%D9%BE_%23c

    این لینک رو برسی کنید.
    میدونم چطور باید split کرد یک متن رو اما مشکل من Sort کردن یک آرایه string هستش همونطور که در پست اول گفتم ( بر اساس اعداد موجود در هر المنت )
    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 10 فروردین 1395 در 16:57 عصر

  6. #6
    کاربر تازه وارد آواتار shahryars
    تاریخ عضویت
    فروردین 1395
    محل زندگی
    Rio
    پست
    69

    Smile نقل قول: Sort کردن آرایه String

    یک سورس گزاشتم
    اونو دریاب به جوابت انشالاه میرسیMin_Max Number Csharp.rar

  7. #7

    نقل قول: Sort کردن آرایه String

    نقل قول نوشته شده توسط shahryars مشاهده تاپیک
    یک سورس گزاشتم
    اونو دریاب به جوابت انشالاه میرسیMin_Max Number Csharp.rar
    دوست عزیز این برنامه میاد یه آرایه int رو مرتب میکنه اما من در پست اول هم گفته بودم اولا آرایه من از نوع string بوده و اعداد به صورت string هستن دوما همراه عدد ها یک یا چند کاراکتر متغیر هست که میشه اون ها با split جدا کرده و به اعداد رسید. و
    و گرنه اگه ارایه int باشه با این کد به راحتی میشه آرایه رو مرتب کرد : Array.Sort(myArray);

  8. #8

    نقل قول: Sort کردن آرایه String

    از overload دیگر متد Sort استفاده کنید و یک comparer مناسب بنویسید
    https://msdn.microsoft.com/en-us/library/aw9s5t8f.aspx

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    بندرعباس
    پست
    41

    نقل قول: Sort کردن آرایه String

    نقل قول نوشته شده توسط mehdi8 مشاهده تاپیک
    سلام دوستان به فرض مثال من یه آرایه string دارم با این محتوا :

    reza:30
    mehdi:10
    hamid:20
    چطور میتونم این آرایه رو براساس اعداد بعد کاراکتر ":" یعنی همان 10, 20, 30 ها از کوچک به بزرگ مرتب کنم و در آخر به این صورت دربیاد :

    mehdi:10
    hamid:20
    reza:30

    ممنون.
    با سلام با اجازه اساتید بزرگوار سایت
    شما معمولا برای مرتب سازی فقط کافیه یکی از روش های مرتب سازی رو مد نظر قرار بدید
    مثل کد زیر با استفاده از روس مرتب سازی حبابی انجام شده است

                
    for (int i = 0; i < arrayOrginal.Count; i++)
    {
    string min = arrayOrginal[i];
    string[] split1 = min.Split(':');
    int key1 = Convert.ToInt32(split1[1].Trim());
    int index = i;
    for (int j = 0; j < arrayOrginal.Count; j++)
    {
    string[] split2 = arrayOrginal[j].Split(':');
    int key2 = Convert.ToInt32(split2[1].Trim());
    if (key2 > key1)
    {
    key1 = key2;
    min = arrayOrginal[j];
    index = j;
    }
    }
    if (i != index)
    {
    string temp = arrayOrginal[i];
    arrayOrginal[i] = arrayOrginal[index];
    arrayOrginal[index] = temp;
    }
    }


    و اگر نیاز به برنامه کاملش داشتی یک پی ام به میلم بده تا اونم هم برات ارسال کنم

  10. #10

    نقل قول: Sort کردن آرایه String

    نقل قول نوشته شده توسط fakhradin مشاهده تاپیک
    با سلام با اجازه اساتید بزرگوار سایت
    شما معمولا برای مرتب سازی فقط کافیه یکی از روش های مرتب سازی رو مد نظر قرار بدید
    مثل کد زیر با استفاده از روس مرتب سازی حبابی انجام شده است

                
    for (int i = 0; i < arrayOrginal.Count; i++)
    {
    string min = arrayOrginal[i];
    string[] split1 = min.Split(':');
    int key1 = Convert.ToInt32(split1[1].Trim());
    int index = i;
    for (int j = 0; j < arrayOrginal.Count; j++)
    {
    string[] split2 = arrayOrginal[j].Split(':');
    int key2 = Convert.ToInt32(split2[1].Trim());
    if (key2 > key1)
    {
    key1 = key2;
    min = arrayOrginal[j];
    index = j;
    }
    }
    if (i != index)
    {
    string temp = arrayOrginal[i];
    arrayOrginal[i] = arrayOrginal[index];
    arrayOrginal[index] = temp;
    }
    }


    و اگر نیاز به برنامه کاملش داشتی یک پی ام به میلم بده تا اونم هم برات ارسال کنم
    خیلی ممنون اما وقتی کد رو اضافه میکنم این ارور هارو میده : ( نام آرایه string[] هم cp میباشد )

    Capture.PNG


    اگه سورس این کد رو پیوست کنید ممنون میشم.
    آخرین ویرایش به وسیله mehdi8 : سه شنبه 10 فروردین 1395 در 12:18 عصر

  11. #11

    نقل قول: Sort کردن آرایه String

    نقل قول نوشته شده توسط mehdi8 مشاهده تاپیک
    خیلی ممنون اما وقتی کد رو اضافه میکنم این ارور هارو میده : ( نام آرایه string[] هم cp میباشد )

    Capture.PNG


    اگه سورس این کد رو پیوست کنید ممنون میشم.
    ممنون مشکلم حل شد ( خط اول رو پاک کردم و به جای Count هم lenght گذاشتم )

    باز هم ممنون بشدت به این کد نیاز داشتم.

  12. #12

    نقل قول: Sort کردن آرایه String

    چون به جواب رسیدید من هم کد راهنمایی ای که در چند پست قبل داشتم رو میزارم برای کسانی که نیاز دارند
    یک کلاس که اینترفیس IComparer<string> را پیاده میکنه را ایجاد و در پیاده سازی متد Compare در این کلاس، عددهای درون رشته را بدست آورده و نتیجه مقایسه را بازگشت میدهیم.

    public class MyConvertor : IComparer<string>
    {
    public int Compare(string x, string y)
    {
    int a = 0, b = 0;
    if (!string.IsNullOrEmpty(x))
    {
    string[] xStrings = x.Split(':');
    if (xStrings.Length > 1)
    {
    int.TryParse(xStrings[1], out a);
    }
    }
    if (!string.IsNullOrEmpty(y))
    {
    string[] yStrings = y.Split(':');
    if (yStrings.Length > 1)
    {
    int.TryParse(yStrings[1], out b);
    }
    }

    return a.CompareTo(b);
    }
    }

    کافیه به صورت زیر آرایه رو مرتب کنیم

    string[] strArray = {"a:15", "b:10", "c:5"};
    Array.Sort(strArray, new MyConvertor());

تاپیک های مشابه

  1. سوال: منظور از sort کردن آرایه
    نوشته شده توسط alisajadid در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 26 اسفند 1392, 22:51 عصر
  2. سوال: Sort کردن آرایه
    نوشته شده توسط Jason.Bourne در بخش PHP
    پاسخ: 1
    آخرین پست: شنبه 19 مرداد 1392, 19:44 عصر
  3. sort کردن ارایه
    نوشته شده توسط Tarragon در بخش PHP
    پاسخ: 1
    آخرین پست: سه شنبه 01 مرداد 1392, 20:33 عصر
  4. سوال: sort کردن آرایه های چند بعدی
    نوشته شده توسط css-man در بخش PHP
    پاسخ: 0
    آخرین پست: جمعه 30 فروردین 1392, 21:56 عصر
  5. مبتدی: Sort کردن آرایه ها
    نوشته شده توسط archDevil در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 0
    آخرین پست: سه شنبه 27 مهر 1389, 09:06 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •