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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2019, 10:31   #1
Мария19043
Пользователь
 
Регистрация: 03.12.2018
Сообщений: 83
По умолчанию упорядочить столбец матрицы

каким способом лучше упорядочить по убыванию первый столбец матрицы??
Мария19043 вне форума Ответить с цитированием
Старый 21.04.2019, 12:00   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

таким же, как и одномерный массив
p51x вне форума Ответить с цитированием
Старый 21.04.2019, 13:32   #3
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Вообще-то нет. Фокус в том, что такого массива нет. Массив массивов – это сама матрица, массивы чисел – строки. А упорядочить надо столбец. Поэтому просто скормить его функции сортировки массивов не получится, надо или писать функцию специально для сортировки столбцов матриц, или транспонировать всю матрицу, скормить строку функции сортировки и транспонировать ещё раз, или скопировать столбец в буферный массив, скормить этот буфер функции сорировки и потом скопировать назад. Если устроит пузырёк, то:
Код:
for (i=0; i<N; ++i)
{
 for (j=i+1; j<N; ++j)
 {
   if (a[i][c]>a[j][c])
   {
    t=a[i][c];
    a[i][c]=a[j][c];
    a[j][c]=t;
   }
 } 
}
. Обратите внимание: приходится таскать за собой три индекса. c – индекс столбца. https://ru.wikipedia.org/wiki/%D0%90...B2%D0%BA%D0%B8. Прочитать, осмыслить, выбрать, переписать выбранное на c++ и в коде сортировки подставить свою адресацию элементов.

Последний раз редактировалось taras-proger77; 21.04.2019 в 13:56.
taras-proger77 вне форума Ответить с цитированием
Старый 21.04.2019, 14:00   #4
Мария19043
Пользователь
 
Регистрация: 03.12.2018
Сообщений: 83
По умолчанию

спасибо
Мария19043 вне форума Ответить с цитированием
Старый 21.04.2019, 14:05   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от taras-proger77 Посмотреть сообщение
Вообще-то нет.
Вообще-то да.

Цитата:
Сообщение от taras-proger77 Посмотреть сообщение
Фокус в том, что такого массива нет.
У меня есть.

Цитата:
Сообщение от taras-proger77 Посмотреть сообщение
Массив массивов – это сама матрица, массивы чисел – строки.
Смотря как представлять и располагать.

Цитата:
Сообщение от taras-proger77 Посмотреть сообщение
Если устроит пузырёк, то
Говорили нельзя и тут же, зафиксировав один индекс, смогли... Фокус, не иначе.
p51x вне форума Ответить с цитированием
Старый 23.04.2019, 14:07   #6
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Говорили нельзя и тут же, зафиксировав один индекс, смогли... Фокус, не иначе.
Только я не стандартной функции матрицу скормил, а написал функцию, «знающую» настоящее расположение данных. И я не говорил, что столбцы вообще не сортируются. Я утверждаю лишь, что их нельзя сортировать тем же кодом без его изменения и дополнительных операций в вызывающем коде.

Последний раз редактировалось taras-proger77; 23.04.2019 в 14:09.
taras-proger77 вне форума Ответить с цитированием
Старый 23.04.2019, 14:10   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

1. Ну так это и учебная задача на поработать ручками.
2. Хотите стандартную — простейший итератор по столбцу.
p51x вне форума Ответить с цитированием
Старый 23.04.2019, 14:46   #8
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

А ну да, ещё один вариант. «Знать» фактическое расположение данных может и коды, вызываемый вызываемым.
taras-proger77 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно упорядочить по убыванию первый столбец матрицы. ЯЗЫК С++ Мария19043 Общие вопросы C/C++ 1 21.04.2019 23:02
С++.три матрицы, упорядочить строки той матрицы у которой больше нулевых строк Ирина1992 Помощь студентам 12 20.11.2011 13:01
Упорядочить матрицы kjiokl Помощь студентам 4 15.03.2010 16:33
Упорядочить столбцы матрицы alexantonov Фриланс 7 15.10.2009 18:39