25 / 25 / 11
Регистрация: 15.10.2009
Сообщений: 185
|
||||||
1 | ||||||
Помогите плиз с алгоритмом проги (нужно отсортировать матрицу)17.10.2011, 21:11. Просмотров 730. Ответов 12
Метки нет Все метки)
(
Задача: Характеристикой столбца целочисленной матрицы назовём сумму модулей его отрицательных нечётных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.
Помогите плиз с алгоритмом, прогу-то сам напишу...) Вот допустим матрица такая:
КАК мне расставить столбцы матрицы?? Буду сильно благодарен за подсказку!)
0
|
|
17.10.2011, 21:11 | |
Помогите плиз с алгоритмом проги (переставить слова в строке) Помогите Плиз!!!Завтра Эказмен...Нужно решить задачу!
Програмка на Си...нужно добавить столбец и отсортировать матрицу по добавленному столбцу. |
|
25 / 25 / 11
Регистрация: 15.10.2009
Сообщений: 185
|
||||||
17.10.2011, 21:50 [ТС] | 3 | |||||
Знаю, что нумерация с нуля) просто для удобства думал будет лучше, если с первого, не суть вобщем..
Таак, написал код, который бы посчитал характеристики:
0
|
![]() 4710 / 2535 / 753
Регистрация: 18.08.2009
Сообщений: 4,550
|
|
17.10.2011, 21:59 | 4 |
Валентин^_^, а Вы считаете элементы стоящие на нечетной позиции.
все-таки это разные вещи.
0
|
25 / 25 / 11
Регистрация: 15.10.2009
Сообщений: 185
|
|
17.10.2011, 22:10 [ТС] | 5 |
Я так понял, что если элемент находится на нечетной позиции - то есть это 1,3 и 5 строки и, если он отрицательный, то посчитать характеристику. Так вышеприведенный код и работает, в итоге для данной матрицы получаем: 3, 2, 10, 15 и 99. ...или я сам не въехал в задание...
0
|
446 / 209 / 21
Регистрация: 07.10.2011
Сообщений: 462
|
|
17.10.2011, 22:49 | 6 |
Валентин^_^, в вашем задании не важно на каком месте стоит число, главное, чтобы оно было отрицательное и нечетное, т.е. в приведенной вами матрице в первом столбце - это число -1, соответственно, и характеристика его равна 1; во втором -1 и -1 (характеристика 2) и т.д.
0
|
25 / 25 / 11
Регистрация: 15.10.2009
Сообщений: 185
|
||||||
17.10.2011, 23:01 [ТС] | 7 | |||||
aeshes, Спс, суть задания понял)
код исправил
0
|
446 / 209 / 21
Регистрация: 07.10.2011
Сообщений: 462
|
|
17.10.2011, 23:11 | 8 |
Валентин^_^, самый простой подход - это завести еще один массив int index [5] ={0,1,2,3,4}, который хранит индексы столбцов в исходной матрице.
Теперь сортируете массив характеристик по возрастанию. Как только переставляете в нем местами два элемента, такую же перестановку делаете и в массиве index. Затем в результирующий массив записываете строки исходного массива в том порядке, в котором получились индексы в массиве index. Например, у вас будут характеристики 3 2 8 7 1 и массив индексов 0 1 2 3 4 После сортировки характеристики станут 1 2 3 7 8, а массив индексов 4 1 0 3 2 Именно в таком порядке и заполняете столбики в результирующей матрице: сначала 4-й, потом 1-й и т.д.
1
|
25 / 25 / 11
Регистрация: 15.10.2009
Сообщений: 185
|
||||||
18.10.2011, 00:26 [ТС] | 9 | |||||
aeshes,
написал функцию, которая сортирует массив характеристик и выстраивает массив индексов
..не получается столбцы расставить в соответствии с индексами,... если не затруднит, можно так же на словах?)
0
|
446 / 209 / 21
Регистрация: 07.10.2011
Сообщений: 462
|
||||||||||||||||
18.10.2011, 15:08 | 10 | |||||||||||||||
Валентин^_^, насколько я поняла, x - это у вас матрица характеристик, y - матрица индексов. В ней обмен должен быть такой же, как в матрице х, т.е.
0
|
![]() 4710 / 2535 / 753
Регистрация: 18.08.2009
Сообщений: 4,550
|
|
18.10.2011, 16:05 | 11 |
aeshes, слишком много дополнительных массивов. Хватит начального массива mas[][] и массива haract[].
После заполнения значениями массива haract[], делаем сортировку выбором в массиве haract[], одновременно меняя точно также столбцы в массиве mas[][].
0
|
446 / 209 / 21
Регистрация: 07.10.2011
Сообщений: 462
|
|
18.10.2011, 19:21 | 12 |
valeriikozlov, можно и так, я не говорила, что это лучший способ, я сказала - самый простой
0
|
25 / 25 / 11
Регистрация: 15.10.2009
Сообщений: 185
|
||||||
18.10.2011, 22:41 [ТС] | 13 | |||||
В общем вот что получилась:
Только все равно сортировку нужно будет вынести в отдельную функцию, попробовал передать двумерный массив в ф-ию также, как и одномерный.. но так нельзя. Над этим буду еще думать..
0
|
18.10.2011, 22:41 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Помогите, плиз. помогите, плиз! Помогите, плиз. Помогите плиз Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |