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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2016, 12:34   #1
Лакира
Пользователь
 
Регистрация: 17.11.2016
Сообщений: 28
По умолчанию

Как исправить код, чтобы сортировалась вся матрица.
Нужно отсортировать матрицу по возрастанию сумм в столбцах
Код:
public void Sum()
        {
            for (int j = 0; j < m; j++)
            {
                a = new int[m];
                for (int i = 0; i < n; i++)
                {

                    a[j] += x[i, j];
                }
                Console.Write("{0,5}", a[j]);
                
            } Console.WriteLine();  
           VSort(a,x);
        } 

        public void VSort(int[]a,int [,]x)
        {
            for (int k = 0; k < m-1; k++)
            {
                if (a[k] > a[k + 1])
                {
                    
                        for (int i = 0;i < n; i++)
                        {
                            int v;
                            v = x[i,k];
                            x[i,k] = x[i,k+1];
                            x[i,k+1] = v;
                        } WriteOfConsole();
                
                } 
              
            } 
       }
Причем первый столбец не рассматривается для сортировки. Если суммы столбцов равны 10,-24,40,то не сортируется.

Последний раз редактировалось Вадим Мошев; 03.12.2016 в 13:40.
Лакира вне форума Ответить с цитированием
Старый 03.12.2016, 13:07   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

в VSort цикл
Код:
for (int k = 0; k < m-1; k++)
от 1, а не от 0
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 03.12.2016, 14:22   #3
Лакира
Пользователь
 
Регистрация: 17.11.2016
Сообщений: 28
По умолчанию

Все равно не работает.Можете посмотреть весь код?
Лакира вне форума Ответить с цитированием
Старый 03.12.2016, 14:49   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Лакира Посмотреть сообщение
Можете посмотреть весь код?
Давайте весь код.

Хотя лан, Ваш VSort просто не сортирует

Код:
public static void VSort(int[] a, int [,]x)
        {
            іnt v;
            for (int k = 1; k < m; k++)
            fоr (int kk = k;kk<m;kk++)    
            {
               if (a[k] > a[kk])
                {
                        for (int і = 0; i < n; i++)
                        {
                            v = x[i,k];
                            x[i,k] = x[i,kk];
                            x[i,kk] = v;
                        }
                        
                    v = а[k];
                    a[k] =a[kk];
                    а[kk]=v;
                } 
              
            } 
       }
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 03.12.2016 в 16:03.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами Prime97 Помощь студентам 2 29.12.2015 15:23
работа с матрицами в c++ Yunut Общие вопросы C/C++ 1 01.06.2011 00:00
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
работа с матрицами zak_87 Помощь студентам 3 02.10.2010 20:59