Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2011, 21:23   #1
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию Быстрая сортировка массива по двум параметрам. С#.

Делаю лабу: там много видов сортировок типа пирамидальной, поразрядной, быстрой и т.п. остановился на быстрой по двум параметрам.
Собсно в этом и вопрос: что это такое и как это должно выглядеть? так же не знаю как собсно и делать - то сортировку по двум параметрам. Знаю только что сперва по второй строке, а потом по первой. Задание:
6 76 1 12 11 18 77 22 99 100
Иван Вася Вася Петя Иван Петя Иван Вася Саша Саша

Наваял только ввод и вывод:
Код:
 {
                    Console.Clear();
                    Console.WriteLine("\tВы выбрали быструю сортировку по двум параметрам\n");
                    Console.Write("Укажите количество строк массива А[n,m] >>");
                    int n = Convert.ToInt32(Console.ReadLine());
                    Console.Write("Укажите количество столбцов массива А[n,m] >>");
                    int m = Convert.ToInt32(Console.ReadLine());
                    string[,] c1 = new string[n,m];
                    Console.WriteLine("Введите массив чисел A");
                    for (i = 0; i < c1.GetLength(0); i++)
                    {
                        Console.Write("Введите элементы "+ i +"-ой строки  >>>  ");
                        for (j = 0; j < c1.GetLength(1);j++ )
                        c1[i,j] = Console.ReadLine();
                        }
                    Console.WriteLine("\nМассив:");
                    for (i = 0; i < c1.GetLength(0); i++)
                    {
                        for (j = 0; j < c1.GetLength(1);j++ )
                            Console.Write("{0}   ",c1[i,j]);
                        Console.WriteLine();
                            
                          }
                    Console.WriteLine("\nДля возврата в меню программы нажмите любую клавишу...");
                    Console.ReadKey();
                }
Подскажите что - нибудь. Зараннее благодарю.
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Старый 14.09.2011, 09:05   #2
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Тебе сначало надо отстортировать массив по второму параметру (Имени) при помощи алгоритма быстрой сортировки (http://ru.wikipedia.org/wiki/%C1%FB%...F0%EE%E2%EA%E0) а потом пробегаешь по именам и ищеш последовательности одинаковых имен и отправляешь в процедуру быстрой сортировки в качестве параметров индексы первого и последнего индекса этой последовательности.
P.S. для удобства надо не двумемерный масив использовать а создать класс
Код:
    class Men
    {
        int MenNumber;
        string MenName;
        public Men(int number, string name)
        {
            this.MenNumber = number;
            this.MenName = name;
        }
        public int Number
        {get { return MenNumber; }}
        public string Name
        { get { return MenName; } }
    }
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.

Последний раз редактировалось KobolD; 14.09.2011 в 09:14.
KobolD вне форума Ответить с цитированием
Старый 14.09.2011, 19:01   #3
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

Точняк, большое спасибо, реализовал - лепота ^____________^
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отбирать по двум параметрам и считать количество. NikolayHAOS Помощь студентам 1 25.02.2011 10:43
Сортировка значений по двум параметрам bvkdrv Microsoft Office Excel 11 06.02.2011 21:35
quickSort, Быстрая сортировка массива kzht91 Помощь студентам 1 17.04.2010 00:30
быстрая сортировка настолько быстрая Serg12 Помощь студентам 8 28.03.2010 21:31
Выбор из таблицы по двум параметрам и построение таблице на основе выборки WildKosha Microsoft Office Excel 2 08.08.2009 01:53