مرتب کردن آرایه 2 بعدی - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

مرتب کردن آرایه 2 بعدی

+1 امتیاز
چطور باید آرایه 2 بعدی رو مرتب کنم؟
سوال شده خرداد 8, 1393  بوسیله ی daniyaltjm (امتیاز 840)   47 88 103
میخوای سوالت رو واضح تر بگی من نفهمیدم سوالت رو راستیتش
راستش خودمم نفهمیدم!!! اصلا ولش کن.
بستگی داره به چه شکل و بر اساس کدوم ستون بخوای آرایه رو مرتب کنی .
خوب شما اول باید عملی که می خواید انجام بدید رو تعریف کنید... مرتب کردن برای یه آرایه ی دو بعدی یعنی چی؟ دیدگاه های مختلفی می تونه وجود داشته باشه... هدفتون چی هست؟

2 پاسخ

+1 امتیاز
میتونی آرایه 2 بعدی رو یک  آرایه بزرگ یک بعدی درنظر بگیری و مرتب کنی
پاسخ داده شده خرداد 9, 1393 بوسیله ی alixw24 (امتیاز 656)   2 5 13
+1 امتیاز

سلام این برنامه آرایه دو بعدی رو به صورت صعودی مرتب می کنه و برای مرتب سازی نزولی کافیه علامت شرط  معکوس بشه اما این مرتب سازی هزینه بالایی داره و اگر بخواهیم آرایه را چندین بار مرتب کنیم  صرف هزینه لازمه در هر حال برنامرو میفرستم.  

 

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            Random oRandom = new Random();
            int i = 0, j = 0, f = 0, k = 0, max;
            int row, colum;

            //--------------------------------------------------
            row = int.Parse(Console.ReadLine());
            colum = int.Parse(Console.ReadLine());
            //--------------------------------------------------

            int[,] a = new int[row, colum];

            //--------------------------------------------------
            for (i = 0; i < row; ++i)
                for (j = 0; j < colum; ++j)
                    a[i, j] = 1 + oRandom.Next(100);
            //--------------------------------------------------


            //--------------------------------------------------
            for (i = 0; i < row; ++i)
            {
                for (j = 0; j < colum; ++j)
                  {
                    for (f = 0; f < row; ++f)
                        for (k = 0; k < colum; ++k)
                            if (a[f, k] > a[i, j])
                            {
                                max = a[f, k];
                                a[f, k] = a[i, j];
                                a[i, j] = max;
                            }

                  }
              }
            //---------------------------------------------------
         }
     
    }

}
پاسخ داده شده خرداد 11, 1393 بوسیله ی امیدوار (امتیاز 872)   21 63 76
ویرایش شده تیر 15, 1393 بوسیله ی امیدوار
ممنون ولی این ++c هست!! چرا برنامه با هزینه کمتر نذاشتی؟
سلام
برنامه رو با زبان سی شارپ براتون فرستادم
راستیتش امتحانا نزدیکه و زمان کافی  برای فکر کردن روی برنامه ندارم.
...